با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، و کاربرانی که دوره آموزش SQLite را دنبال می کنند. در بخش قبلی با ساختار شرطی WHERE در SQLite آشنا شدیم که به ما اجازه می دهد تا با تعریف یک شرط در ادامه ی دستور SELECT رکوردهای جدول یا جداولی از SQLite را بر اساس شرط تعریف شده فیلتر کنیم، اما گاهی نیاز است که بیش از یک شرط را در دستور SELECT داشته باشیم، که برای اعمال شروط چندگانه در ساختار SELECT عملگرهای AND و OR در SQLite ارائه شده است. در ادامه ی این مباحث شما را با چگونگی استفاده از عملگرهای AND و OR در SQLite آشنا خواهیم کرد.
در این آموزش شما با سینتکس و مثال هایی از عملگرهای AND و OR در SQLite آشنا خواهید شد.
عملگر AND اجازه ی تعریف شروط چندگانه را در یک ساختار شرطی WHERE در SQLite را می دهد.
زمانیکه از AND استفاده می کنید، فقط وقتی که تمام شروط AND در یک رکورد درست باشند، آن رکورد انتخاب می شود.
این سینتکس اصلی عملگر AND در ساختار شرطی WHERE می باشد :
1 2 3 | SELECT column1, column2, columnN FROM table_name WHERE [condition1] AND [condition2]...AND [conditionN]; |
به همین ترتیب شما می توانید N تعداد شرط را در ساختار شرطی WHERE با استفاده از AND تعریف کنید.
در این حالت نیز باید N تعداد شرط درست باشند تا نتیجه را دریافت کنید.
مثال
جدول COMPANY را با رکوردهای زیر در نظر بگیرید:
1 2 3 4 5 6 7 8 9 | ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0 |
کد SELECT زیر تمام رکوردهایی را لیست می کند که AGE آن ها بزرگتر یا مساوی ۲۵ بوده و salary نیز بزرگتر مساوی ۶۵۰۰۰٫۰۰ باشد:
1 2 3 4 5 6 | sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 |
عملگر OR نیز همانند AND برای تعریف شروط چند گانه در ساختار SELECT به کار می رود.
تفاوت OR با AND در این است، که در ساختار OR تنها در صورت صحیح بودن یک شرط نتیجه true می شود.
این سینتکس اصلی عملگر OR در ساختار شرطی WHERE می باشد :
1 2 3 | SELECT column1, column2, columnN FROM table_name WHERE [condition1] OR [condition2]...OR [conditionN] |
به همین ترتیب شما می توانید N تعداد شرط را در ساختار شرطی WHERE با استفاده از OR تعریف کنید.
در این حالت نیز کافیست یکی از N تعداد شرط درست باشد تا نتیجه را دریافت کنید.
مثال
جدول COMPANY را با رکوردهای زیر در نظر بگیرید:
1 2 3 4 5 6 7 8 9 | ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0 |
کد SELECT زیر تمام رکوردهایی را لیست می کند که AGE آن ها بزرگتر یا مساوی ۲۵ بوده یا salary بزرگتر مساوی ۶۵۰۰۰٫۰۰ باشد:
1 2 3 4 5 6 7 8 | sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 |
در حالت ساده ، شما فقط می توانید یک شرط را در ساختار شرطی WHERE تعریف کنید، اما در اغلب موارد نیاز به تعریف بیش از یک شرط را خواهید داشت، که عملگرهای AND و OR در SQLite این مسئله را حل می کنند.