উত্তর:
একক উদ্ধৃতি এসকিউএল-এ স্ট্রিংয়ের শুরু এবং শেষ নির্দেশ করতে ব্যবহৃত হয়। ডাবল উদ্ধৃতিগুলি সাধারণত এসকিউএল-তে ব্যবহৃত হয় না, তবে এটি ডাটাবেস থেকে ডাটাবেসে পরিবর্তিত হতে পারে।
একক উদ্ধৃতি ব্যবহারে লেগে থাকুন।
এটি যাইহোক প্রাথমিক ব্যবহার। আপনি কলামের জন্য একটি একক উক্তি ব্যবহার করতে পারেন ওরফে - যেখানে আপনি চান যে কলামের নামটি আপনি নিজের অ্যাপ্লিকেশন কোডটিতে উল্লেখ করেছেন কলামটি আসলে ডাটাবেসে ডাকা হয় তার চেয়ে অন্য কিছু হতে পারে। উদাহরণস্বরূপ: PRODUCT.id
হিসাবে আরও পঠনযোগ্য হবে product_id
, সুতরাং আপনি নিম্নলিখিত দুটি ব্যবহার করুন:
SELECT PRODUCT.id AS product_id
SELECT PRODUCT.id 'product_id'
হয় আরাকল, এসকিউএল সার্ভার, মাইএসকিউএল…
কলামের উলেফে কোনও স্থানের অক্ষর অন্তর্ভুক্ত থাকলে আপনাকে একক উদ্ধৃতি ব্যবহার করতে হবে, উদাহরণস্বরূপ product id
, তবে কলামের একটি নাম উচ্চারণের জন্য এটি একাধিক শব্দের চেয়ে বেশি হওয়া বাঞ্ছনীয় নয়।
SELECT * FROM USERS 'Users'
এসকিউএল সার্ভারে কাজ করে না, তবে SELECT * FROM USERS "Users"
করে।
SELECT PRODUCT.id 'product_id'
ওরাকলে কাজ করবে না । একক উদ্ধৃতি কেবল চরিত্রের অক্ষরের জন্য।
কোন ক্ষেত্রে কী ব্যবহার করবেন তা আমাদের মনে রাখার জন্য একটি সহজ নিয়ম:
মাইএসকিউএল এবং MariaDB সালে ` (ব্যাকটিক) প্রতীক হিসাবে একই " প্রতীক। আপনি ব্যবহার করতে পারেন " যখন আপনার SQL_MODE
করেছে ANSI_QUOTES
সক্ষম করা হয়েছে।
একক উদ্ধৃতিগুলি একটি স্ট্রিং ধ্রুবক বা তারিখ / সময় ধ্রুবককে সীমিত করে দেয়।
ডাবল উদ্ধৃতিগুলি উদাহরণস্বরূপ সারণীর নাম বা কলামের নামগুলির জন্য ডিলিট কোড সনাক্তকারী। এটি সাধারণত তখনই প্রয়োজনীয় যখন আপনার শনাক্তকারী সাধারণ শনাক্তকারীদের জন্য নিয়মগুলি মাপসই করে না।
আরো দেখুন:
আপনি মাইএসকিউএল এএনএসআই মান অনুযায়ী ডাবল-কোট ব্যবহার করতে পারেন:
SET GLOBAL SQL_MODE=ANSI_QUOTES
আপনি মাইক্রোসফ্ট এসকিউএল সার্ভারকে এএনএসআই স্ট্যান্ডার্ড অনুযায়ী ডাবল-কোট ব্যবহার করতে পারেন:
SET QUOTED_IDENTIFIER ON
এএনএসআই এসকিউএলে, ডাবল উদ্ধৃতিগুলি উদ্ধৃতি অবজেক্টের নাম (যেমন সারণী) যা তাদের অন্যথায় অনুমতিপ্রাপ্ত নয় এমন অক্ষরগুলি ধারণ করতে দেয় বা সংরক্ষিত শব্দের মতো হতে পারে (এটি এড়ান, সত্যই)।
একক উদ্ধৃতি স্ট্রিং জন্য।
যাইহোক, মাইএসকিউএল স্ট্যান্ডার্ড সম্পর্কে অসচেতন (যদি না এর এসকিউএল_মোডি পরিবর্তন হয়) এবং সেগুলি স্ট্রিংয়ের জন্য আন্তঃব্যক্তভাবে ব্যবহার করার অনুমতি দেয়।
তদুপরি, সাইডবেস এবং মাইক্রোসফ্ট সনাক্তকারী উদ্ধৃতিগুলির জন্য বর্গাকার বন্ধনী ব্যবহার করে।
সুতরাং এটি কিছুটা বিক্রেতা নির্দিষ্ট।
পোস্টগ্রিস এবং আইবিএম এর মতো অন্যান্য ডাটাবেসগুলি আসলে আনসির মান মেনে চলে :)
পার্থক্যটি তাদের ব্যবহারের মধ্যে রয়েছে। একক উদ্ধৃতিগুলি বেশিরভাগ WHERE, HAVING এবং কিছু অন্তর্নির্মিত এসকিউএল ফাংশন যেমন কনক্যাট, স্ট্রপপস, পজিশন ইত্যাদিতে স্ট্রিং উল্লেখ করতে ব্যবহৃত হয়
আপনি যখন কোনও কোনও উপনামের মধ্যবর্তী স্থান ব্যবহার করতে চান তখন আপনি সেই উপন্যাসটি উল্লেখ করতে ডাবল উদ্ধৃতি ব্যবহার করতে পারেন।
উদাহরণ স্বরূপ
(select account_id,count(*) "count of" from orders group by 1)sub
অ্যাকাউন্ট_আইডির অর্ডার টেবিলের একটি বিদেশী কী হিসাবে একটি সাবকোয়ারি রয়েছে যা প্রতি অ্যাকাউন্টে কতগুলি অর্ডার দেওয়া হয়েছে তা জানতে আমি একত্রিত হয়েছি। এখানে আমি একটি কলাম উদ্দেশ্যে উদ্দেশ্যে "গণনা" হিসাবে যেকোন এলোমেলো নাম দিয়েছি।
এখন আসুন যেখানে "গণনা" 20 এর চেয়ে বেশি সারিগুলি প্রদর্শন করতে একটি বাহ্যিক ক্যোয়ারী লিখি।
select "count of" from
(select account_id,count(*) "count of" from orders group by 1)sub where "count of" >20;
আপনি সাধারণ টেবিলের মত প্রকাশের ক্ষেত্রেও একই কেস প্রয়োগ করতে পারেন।