با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. اگر از نتایج اجرای یک یا چند دستور شرطی در SQL مطمئن نیستید. و می خواهید قبل از اینکه دستور را بطور کامل پیاده سازی کنید از اینکه آیا مقادیری را بر می گرداند یا خیر مطلع شوید. در این گونه موارد SQL به شما عملگر EXISTS را در دستور WHERE پیشنهاد می کند. برای آشنایی با عملگر EXISTS در SQL و چگونگی استفاده از آن، در ادامه ی این بخش، با ما همراه باشید.
از عملگر EXISTS برای تست کردن نتایج پرس و جو های بعد از دستور WHERE استفاده می شود.
در صورتی که در نتیجه تست مقداری برگردانده شود،عملگر EXISTS مقدار True را بر می گرداند.
ساختار عملگر EXISTS:
1 2 3 4 | SELECT column_name(s) FROM table_name WHERE EXISTS (SELECT column_name FROM table_name WHERE condition); |
در این قسمت، به بخشی از رکوردهای دو جدول که در مثال های این آموزش، از آنها، استفاده خواهیم کرد، اشاره می کنیم.
بخشی از رکوردهای جدول “Products” :
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
۱ | Chais | ۱ | ۱ | ۱۰ boxes x 20 bags | ۱۸ |
۲ | Chang | ۱ | ۱ | ۲۴ – ۱۲ oz bottles | ۱۹ |
۳ | Aniseed Syrup | ۱ | ۲ | ۱۲ – ۵۵۰ ml bottles | ۱۰ |
۴ | Chef Anton’s Cajun Seasoning | ۲ | ۲ | ۴۸ – ۶ oz jars | ۲۲ |
۵ | Chef Anton’s Gumbo Mix | ۲ | ۲ | ۳۶ boxes | ۲۱٫۳۵ |
بخشی از رکوردهای جدول “Suppliers” :
SupplierID | SupplierName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
۱ | Exotic Liquid | Charlotte Cooper | ۴۹ Gilbert St. | London | EC1 4SD | UK |
۲ | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | ۷۰۱۱۷ | USA |
۳ | Grandma Kelly’s Homestead | Regina Murphy | ۷۰۷ Oxford Rd. | Ann Arbor | ۴۸۱۰۴ | USA |
۴ | Tokyo Traders | Yoshi Nagase | ۹-۸ Sekimai Musashino-shi | Tokyo | ۱۰۰ | Japan |
مثال زیر نتیجه True را بر می گرداند. سپس فیلدهای ProductName را از جدول به شرطی نمایش می دهد که SupplierId آنها در جدول Suppliers موجود بوده و Price آنها نیز کوچکتر از ۲۰ باشد:
1 2 3 | SELECT SupplierName FROM Suppliers WHERE EXISTS (SELECT ProductName FROM Products WHERE SupplierId = Suppliers.supplierId AND Price < 20); |
مثال زیر نتایج مثال بالا را با این تفاوت که Price آنها برابر با ۲۲ باشد را بر می گرداند:
1 2 3 | SELECT SupplierName FROM Suppliers WHERE EXISTS (SELECT ProductName FROM Products WHERE SupplierId = Suppliers.supplierId AND Price = 22); |
با مرور آموزشهای این بخش، با چگونگی تست کردن یک دستور SQL را در دستور شرطی WHERE، برای اینکه مشخص شود که آیا مقداری بازگردانده می شود یا خیر ، آشنا شدید. امیدواریم که از مباحث آشنایی با عملگر EXISTS در SQL ، بخوبی استفاده کرده باشید.
شاهرخ
با سلام و احترام.
صمیمانه از زحمات شما در جهت بالا بردن سطح آگاهی علمی مبحث IT سپاسگذارم و برای شما آرزوی موفقیت روزافزون دارم.
پی وی لرن
سلام
ممنون دوست عزیز خوشحالیم که مطالب مورد رضایت شما بوده است ما هم برای شما آرزوی موفقیت را داریم.