নির্বাচন করুন অনন্য এবং নির্বাচন পৃথক মধ্যে পার্থক্য


145

আমি ভেবেছিলাম এগুলি সমার্থক, তবে আমি মাইক্রোসফ্ট এসকিউএল-এ নিম্নলিখিতগুলি লিখেছি:

Select Unique col from 
     (select col from table1 union select col from table2) alias

এবং এটি ব্যর্থ হয়েছে। এটিতে পরিবর্তন করা হচ্ছে

Select Distinct col from 
     (select col from table1 union select col from table2) alias

ঠিক কর. কেউ কি ব্যাখ্যা করতে পারেন?

উত্তর:


169

SELECT UNIQUEওরাকল এর এসকিউএল এর স্বাদ দ্বারা সমর্থিত পুরানো বাক্য গঠন। এটি সমার্থক শব্দ SELECT DISTINCT

ব্যবহার করুন SELECT DISTINCTকারণ এটি স্ট্যান্ডার্ড এসকিউএল, এবং SELECT UNIQUEএটি অ-মানক, এবং ওরাকল ব্যতীত অন্য ডাটাবেস ব্র্যান্ডগুলিতে SELECT UNIQUEএকেবারেই স্বীকৃত হতে পারে না।


113

অনন্য একটি কীওয়ার্ড যা তৈরি টেবিলের () নির্দেশে ব্যবহৃত হয় যা বোঝাতে যে কোনও ক্ষেত্রে অনন্য ডেটা থাকবে যা সাধারণত প্রাকৃতিক কী, বিদেশী কী ইত্যাদির জন্য ব্যবহৃত হয় den

উদাহরণ স্বরূপ:

Create Table Employee(   
    Emp_PKey Int Identity(1, 1) Constraint PK_Employee_Emp_PKey Primary Key,  
    Emp_SSN Numeric Not Null Unique,  
    Emp_FName varchar(16),   
    Emp_LName varchar(16) 
)

অর্থ্যাৎ কারওর সামাজিক সুরক্ষা নম্বর সম্ভবত আপনার টেবিলের একটি অনন্য ক্ষেত্র হতে পারে তবে প্রাথমিক কী নয় necess

ক্ষেত্রটি অনন্য নাও হতে পারে এমন ডেটা রাখলে আপনি কেবল অনন্য আইটেম ফিরিয়ে আনতে চান এমন প্রশ্নের জবাবে অবহিত করতে বাছাই বিবৃতিতে পৃথক নির্বাচনটি ব্যবহার করা হয়।

Select Distinct Emp_LName
From Employee

আপনার একই পদবি সহ অনেক কর্মচারী থাকতে পারে তবে আপনি কেবল প্রতিটি পৃথক শেষ নাম চান।

স্পষ্টতই যদি আপনি জিজ্ঞাসা করছেন এমন ক্ষেত্রটি যদি অনন্য ডেটা ধারণ করে, তবে ডিস্টিন্ট কীওয়ার্ড অতিমাত্রায় পরিণত হয়।


2
আপনি সামাজিক সুরক্ষা নম্বরগুলি অনন্য হতে চাইতে পারেন, তবে তারা তা নয়। উদাহরণস্বরূপ: দৈনিক ফিনান্স
2010

18

আপনি যা করতে চেষ্টা করছেন তার জন্য বৈকল্পিক নির্বাচন বৈধ সিনট্যাক্স নয়

আপনি হয় আলাদা আলাদা বা আলাদা আলাদা নির্বাচন করতে চান

এবং প্রকৃতপক্ষে, আপনি যা করতে চেষ্টা করছেন তার জন্য আপনার স্বতন্ত্র / স্বতন্ত্রেরও প্রয়োজন নেই। আপনি উপযুক্ত ইউনিয়ন বিবৃতি পরামিতি চয়ন করে সদৃশগুলি মুছে ফেলতে পারেন।

নীচের প্রশ্নটি নিজে থেকে পৃথক মান প্রদান করবে

select col from table1 
union 
select col from table2

আপনি যদি সদৃশ চান না তবে আপনাকে করতে হবে

select col from table1 
union all
select col from table2

1
যদি আমি ভুল না হয়ে থাকি তবে ওরাকল আপনাকে বলার অনুমতি দেয় select unique..., যদিও আমি মানদণ্ডের পথে কাজটি করতে পছন্দ করি।
asgs

3

কেবল ওরাকল ইন =>

SELECT DISTINCTএবং SELECT UNIQUEএকইভাবে আচরণ। যদিও DISTINCT এএনএসআই এসকিউএল স্ট্যান্ডার্ড, অনন্য একটি ওরাকল নির্দিষ্ট বিবৃতি।

অন্যান্য ডেটাবেজে (যেমন আপনার ক্ষেত্রে এসকিএল-সার্ভার) =>

SELECT UNIQUEঅবৈধ বাক্য গঠন। UNIQUEকলামে অনন্য বাধা যুক্ত করার মূলশব্দ।

নির্বাচন নির্বাচন করুন


0
  1. অনন্য ছিল পুরানো বাক্য গঠন এবং ডিস্ট্রিন্ট হ'ল নতুন বাক্য গঠন, যা এখন স্ট্যান্ডার্ড স্কয়ার।
  2. অনন্যতা একটি সীমাবদ্ধতা তৈরি করে যা valuesোকাতে হবে সমস্ত মান অবশ্যই অন্যের থেকে পৃথক হওয়া উচিত। যদি কেউ সদৃশ মান প্রবেশ করার চেষ্টা করে তবে একটি ত্রুটি প্রত্যক্ষ করা যেতে পারে। ডেটা পুনরুদ্ধার করার সময় সদৃশ সারিগুলি সরিয়ে ফেলার ফলাফলগুলি পৃথক করে।
  3. উদাহরণ: নির্বাচন স্বতন্ত্র ছাত্র থেকে নাম;

    টেবিল ব্যক্তি তৈরি করুন (আইডি বারচারটি অনন্য নয় , নাম বর্ণচর্চা (20%);

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.