با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. بعضی مواقع شما می خواهید که چندین شرط را در دستور WHERE تعریف کنید. و می خواهید در صورت درست بودن یکی از شرط ها، اطلاعات مورد نظر استخراج شود. یا اینکه گاهی نیاز دارید که تمام شرط ها درست باشد. برای این منظور در این آموزش به مبحث آشنایی با عملگرهای AND, OR و NOT در SQL ، پرداخته ایم.
در این آموزش یاد خواهید گرفت که چه طور با تعریف شرط های چندگانه، اطلاعاتی را از جداول بانک اطلاعاتی استخراج کنید. همچنین با ساختار و کاربرد دستور NOT نیز آشنا می شوید.
یک دستور شرطی WHERE ، می تواند با عملگرهای AND, OR و NOT ، ترکیب شود.
علگرهای AND و OR ، برای استخراج رکوردهایی استفاده می شود که بیش از یک شرط را نیاز دارد:
عملگر NOT نیز، رکورد هایی را نمایش می دهد که مخالف شرط تعریف شده باشد.
1 2 3 | SELECT column1, column2, ... FROM table_name WHERE condition1 AND condition2 AND condition3 ...; |
1 2 3 | SELECT column1, column2, ... FROM table_name WHERE condition1 OR condition2 OR condition3 ...; |
1 2 3 | SELECT column1, column2, ... FROM table_name WHERE NOT condition; |
جدول زیر ، بخشی از رکوردهای جدول “Customers” است. که ما در مثال های این آموزش، از آن استفاده خواهیم کرد.
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
۱ | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | ۱۲۲۰۹ | Germany |
۲ | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | ۰۵۰۲۱ | Mexico |
۳ | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | ۰۵۰۲۳ | Mexico |
۴ | Around the Horn | Thomas Hardy | ۱۲۰ Hanover Sq. | London | WA1 1DP | UK |
۵ | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
در مثال زیر، تمام رکورد های جدول “Customers” که در آن ها فیلد country با مقدار “Germany” و فیلد city با مقدار “Berlin” برابر باشد را، نمایش می دهد.
1 2 | SELECT * FROM Customers WHERE Country='Germany' AND City='Berlin'; |
در مثال زیر، تمام رکورد های جدول “Customers” که در آن ها فیلد city با مقدار”Berlin” یا “München” برابر باشد را، نمایش می دهد.
1 2 | SELECT * FROM Customers WHERE City='Berlin' OR City='München'; |
در مثال زیر، تمام رکورد های جدول “Customers” که در آن ها فیلد country با مقدار “Germany” برابر نباشد را ، نمایش می دهد.
1 2 | SELECT * FROM Customers WHERE NOT Country='Germany'; |
شما می توانید عملگرهای AND, OR و NOT را ترکیب کنید.
در مثال زیر، تمام رکورد های جدول “Customers” که در آن فیلد country با “Germany” و فیلد city با “Berlin” یا “München” ،برابر باشد، نمایش داده می شود.
مثال:
1 2 | SELECT * FROM Customers WHERE Country='Germany' AND (City='Berlin' OR City='München'); |
مثال ۲:
تمام رکوردهای جدول “Customers” که فیلد country آن ها برابر “Germany” و “USA” ، نباشد، انتخاب می شود.
1 2 | SELECT * FROM Customers WHERE NOT Country='Germany' AND NOT Country='USA'; |
در این بخش از ادامه ی آموزش ها ،ما شما را با چگونگی تعریف شرط های پیچیده و ترکیبی در دستور WHERE ، آشنا کردیم. امیدواریم که مباحث آموزش آشنایی با عملگرهای AND, OR و NOT در SQL ، به اندازه کافی برای شما مفید بوده باشد.
fateme.modaresifar
سلام وقت بخیر
ممنون از اموزش جامع و کاربردی تون
یه سوال
<em> به چه معناست ؟
صادق
سلام. اون در واقع تگ html هست که اشتباها وارد کد sql شده و معنی خاصی نداره. کد رو اصلاح کردم. عذر میخوام
fateme.modaresifar
سلام
یک سوال دگر
ایا میشه در مثال not
SELECT * FROM Customers
WHERE NOT Country=’Germany’;
به این صورت هم نوشت؟
SELECT * FROM Customers
WHERE Country’Germany’;
طبق جلسه قبلی علامت به معنای نامساوی هست
صادق
سلام. منظورتون عملگر <> هست؟ بله میشه. مثال: SELECT * FROM Customers WHERE Country <> ‘Germany’;