آموزش sql مقدماتی – محدودسازی با کمک عبارت where

ساخت وبلاگ

در دستور Select از عبارت Where به منظور محدودسازی در نمایش اطلاعات استفاده می شود. محل قرارگیری عبارت Where بعد از عبارت  From است. این عبارت به ترتیب شامل 3 قسمت زیر می باشد:

1.نام ستون

2.شرط مقایسه ای

3.نام یک ستون یا مقداری ثابت یا لیستی از مقادیر

مثال: می خواهیم اطلاعات کارمندانی را که در دپارتمان شماره 90 مشغول به کار هستند نمایش دهیم:

+ در عبارت where نمی توان از نام مستعار و یا Alias استفاده کرد مگر اینکه از sub-query استفاده شود.

+ مقادیری که از نوع کارکتر یا تاریخ هستند باید داخل علامت ‘ ‘ تعریف شوند. مقادیر از نوع کاراکتر حساس به بزرگی یا کوچکی حروف می باشند. همچنین مقادیر تاریخ دارای فرمت مشخصی می باشند که باید طبق همان قالب تعریف شوند.

مثال:

 

عملگرهای مقایسه ای در عبارت where

در هنگام استفاده از عبارت where، می توان از عملگرهای مقایسه ای زیر استفاده کرد:

در شکل زیر، قالب کلی استفاده از این نوع عملگرها را به همراه سه مثال مشاهده می کنید:

+ جهت تعیین حالت نامساوی علاوه بر علامت <>  می توان از علامت های != ، ^=   نیز استفاده نمود.

مثال: نمایش نام و نام خانوادگی کارمندانی که حقوق آنها بیشتر از 3000 می باشد:

 

عملگر between در عبارت Where

با استفاده از عملگر between فقط سطرهایی که مقدار آنها در یک محدوده خاص هستند نمایش داده می شوند.

مثال: نام و نام خانوادگی کارکنانی که حقوق آنها بین 2500 تا 3500 می باشد:

+ می توان از عملگر between برای مقادیر تاریخ یا کاراکتر نیز استفاده کرد.

مثال 1:

SELECT * FROM order_details WHERE order_date BETWEEN

TO_DATE (‘2014/02/01’, ‘yyyy/mm/dd’) AND TO_DATE (‘2014/02/28’, ‘yyyy/mm/dd’);

مثال 2: نمایش نام هایی که از لحاظ ترتیب حروف الفبایی بین king و Whalen هستند:

SELECT last_name FROM   employees  WHERE  last_name BETWEEN ‘King’ AND ‘Whalen’;

 

عملگر IN در عبارت Where

در عملگر IN لیستی از مقادیر مشخص می گردد و زمانی که در دستور Select از عملگر IN استفاده می شود فقط سطرهایی که دارای مقداری از این لیست باشند نمایش داده خواهند شد.

مثال: فقط اطلاعات افرادی که شماره manager_id آنها 100، 101 و یا 201 می باشد نمایش داده شود.

+ در لیست عملگر IN می توان از کاراکتر یا تاریخ نیز استفاده نمود به شرطی که از علامت ‘ ‘  استفاده گردد.

مثال: نمایش اطلاعات افرادی که نام خانوادگی آنها Vargas یا  Hartstein می باشد.

 

عملگر like در عبارت where

به منظور جستجوی مقادیر از عملگر like استفاده می گردد. همچنین می توان جهت افزایش قدرت جستجو از دو علامت % و _ استفاده نمود. منظور از علامت % هر تعداد و هر نوع از مقادیر می باشد و علامت _ به معنی فقط یک مورد از هر مقدار است.

مثال: نمایش نام افرادی که اسم آنها با حرف S شروع می شود.

مثال: نمایش اطلاعات افرادی که نام خانوادگی آنها با هر حرفی آغاز شود و سپس دارای یک حرف o باشد:

+ می توان از عملگر like برای مقادیر عددی نیز استفاده کرد.

مثال:

SELECT * FROM suppliers WHERE account_number LIKE ‘92314_’;

+ اگر در متن جستجوی like حروف دستوری خاص مانند  %  وجود داشته باشد آن حروف با استفاده از ESCAPE  نادیده گرفته می شوند.

مثال:

WHERE supplier_name LIKE ‘Water!%’ ESCAPE ‘!’;

در این مثال حرف % بعد از کلمه water جستجو خواهد شد. بنابراین نام %water نیز نمایش داده می شود.

+ می توان از عبارت not like جهت نمایش سایر مقادیر استفاده نمود.

مثال:

SELECT supplier_name FROM suppliers WHERE supplier_name NOT LIKE ‘W%’;

در این مثال تمام اسم هایی که با w شروع نمی شوند نمایش می یابند.

 

استفاده از شروط NULL

از آنجایی که NULL یک مقدار نامشخص می باشد نمی توان وجود یا عدم وجود آن را با شرط = تعیین کرد. بنابراین از عبارات is NULL  و is not NULL استفاده می شود.

مثال: فقط سطرهایی نمایش یابند که ستون manager_id آنها NULL باشد.

 

عملگرهای منطقی

عملگرهای منطقی نتایج چندین شرط را ترکیب می کنند تا یک شرط کلی ایجاد گردد.

مثال: نمایش اطلاعات کارکنان به شرطی که حقوق کارکنان بالای 10000 و job_id آنها نیز شبیه به کلمه MAN باشد.

+ زمانی که در بین چند عبارت شرطی از عملگر AND استفاده گردد نتیجه عملیات به صورت جدول زیر می باشد.

+ زمانی که از عملگر OR استفاده می گردد، فقط کافیست یکی از شرط ها برقرار باشد.

مثال: نمایش اطلاعات افرادی که حقوق آنها بیشتر از 10000 است  یا job_id آنها  شبیه به MAN می باشد.

+ زمانی که در بین چند عبارت شرطی از عملگر OR استفاده گردد نتیجه کلی به صورت زیر می باشد.

+از عملگر NOT برای بررسی عدم وجود یک شرط استفاده می گردد.

مثال: نمایش اطلاعات افرادی که job_id آنها در لیست IN تعریف نشده است.

 

بررسی اولویت

در جدول زیر اولویت هرکدام از عملگرها و شرط ها نسبت به هم مشخص گردیده است. به این ترتیب که شماره 1 بالاترین اولویت را دارد.

+استفاده از پرانتز سبب ایجاد اولویت بالاتر می شود.

مثال: اطلاعات کارمندانی نمایش داده شوند که department_id آنها 60 است و یا department_id آنها 80 است ولی حقوقی بالاتر از 10000 دریافت می کنند.

مثال: با استفاده از پرانتز در مثال قبلی، فقط اطلاعات کارمندانی که حقوق آنها بیشتر از 10000 است، نمایش می یابد.

سون لرن • آموزش...
ما را در سایت سون لرن • آموزش دنبال می کنید

برچسب : نویسنده : استخدام کار 7learn بازدید : 324 تاريخ : يکشنبه 18 اسفند 1398 ساعت: 12:50

خبرنامه