دستور distinct در SQL
دستور distinct در SQL
در این فصل دستور SELECT DISTINCT را توضیح می دهیم.
دستور SELECT DISTINCT
در یک جدول بعضی ستونها ممکن است داده های تکراری داشته باشند. بعضی مواقع شما می خواهید لیستی تهیه کنید که تنها داده های یکتا در آن باشد. یعنی همه داده ها را نشان دهد و داده های تکراری را یکبار نشان دهد.
کلید واژه DISTINCT برای برگرداندن داده های یکتا و متمایز به کار برده می شود.
فرم دستور SELECT DISTINCT:
SELECT DISTINCT column_name(s)
FROM table_nameمثال:
در جدول زیر می خواهیم داده های یکتا از ستون City را بدست آوریم:
P_Id LastName FirstName Address City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger از عبارت زیر برای این منظور استفاده می کنیم:
SELECT DISTINCT City FROM Persons
نتیجه به شکل زیر خواهد بود:
City Sandnes Stavanger دستور select در SQL
در این فصل دستور های SELECT و * SELECT را توضیح می دهیم.
دستور SELECT
دستور SELECT برای انتخاب و بیرون کشیدن داده از پایگاه داده استفاده می شود.
نتایج در جدول نتایج که result-set نامیده می شود ذخیره می شود.
فرم دستور SELECT:
SELECT column_name(s)
FROM table_nameSELECT * FROM table_name
توجه: SQLحساس به کوچکی یا بزرگی حروف نمی باشد. SELECT دقیقا معادل select است.
مثال:
در جدول Persons:
P_Id LastName FirstName Address City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger می خواهیم محتوای ستون های "LastName" و"FirstName" را از جدول بالا انتخاب کنیم.
از دستور SELECT زیر استفاده می کنیم:
SELECT LastName,FirstName FROM Persons
result-set به صورت زیر نمایش داده خواهد شد:
LastName FirstName Hansen Ola Svendson Tove Pettersen Kari مثال *SELECT
می خواهیم تمام ستون های جدول Persons را انتخاب کنیم.
از دستور زیر استفاده می کنیم:
SELECT * FROM Persons
نکته: علامت ستاره (*) یک راه سریع برای انتخاب تمام ستون ها می باشد.
result-set به صورت زیر نمایش داده خواهد شد:
P_Id LastName FirstName Address City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger پیمایش در result-set یا جدول نتایج:
اکثر سیستم های نرم افزاری پایگاه داده اجازه پیمایش در رکوردهای جداول نتیجه را به وسیله توابع می دهند مثل:
Move-To-First-Record, Get-Record-Content, Move-To-Next-Record
این توابع جز این مجموعه آموزشی نمی باشد. برای یادگیری این توابع می توانید لینک PHP Home را بررسی کنید.
عبارت right join در SQL
عبارت RIGHT JOIN
کلید واژه RIGHT JOIN تمام سطرهای جدول سمت راست (table_name2) را برمی گرداند حتی اگر هیچ داده متناظری برای آن در جدول سمت چپ (table_name1) وجود نداشته باشد.
فرم عبارت RIGHT JOIN:
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_nameدر بعضی از پایگاه داده ها RIGHT JOIN به شکل RIGHT OUTER JOIN می باشد.
مثال:
جدول Persons:
P_Id LastName FirstName Address City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger جدول Orders
O_Id OrderNo P_Id 1 77895 3 2 44678 3 3 22456 1 4 24562 1 5 34764 15 می خواهیم تمام سفارشات (orderها) را لیست کنیم حتی اگر نام فردی در مقابل آن سفارش وجود نداشته باشد.
از دستور زیر استفاده می کنیم:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastNameجدول نتایج به شکل زیر خواهد بود:
LastName FirstName OrderNo Hansen Ola 22456 Hansen Ola 24562 Pettersen Kari 77895 Pettersen Kari 44678 34764 کلید واژه RIGHT JOIN تمام سطرهای جدول سمت راست (Orders) را برمی گرداند حتی اگر هیچ داده متناظری برای آن در جدول سمت چپ (Persons) وجود نداشته باشد.
برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه داده SQLServer کلیک کنید.