EXIST OPERATÖRÜ


Subqery tarafını kontrol ederek rowların durumuna bakmaktadır.True yada false olarak subquery den değerler dönmektedir.

Aşağıdaki sorgu herhangi bir yöneticisi olan kişileri listelemektedir.

SQL > SELECT employee_id, last_name, job_id, department_id
FROM employees outer
WHERE EXISTS ( SELECT ’X’ FROM employees WHERE manager_id = outer.employee_id);

Yukarıdaki sorgunun alternatifi aşağıdaki gibidir.

SQL > SELECT employee_id,last_name,job_id,department_id
FROM employees
WHERE employee_id IN (SELECT manager_id
FROM employees
WHERE manager_id IS NOT NULL);

Aşağıdaki sorgu ise herhangi bir personeli olmayan departmanları listelemektedir.

SQL > SELECT department_id, department_name
FROM departments d
WHERE NOT EXISTS (SELECT ’X’ FROM employees
WHERE department_id
= d.department_id);
Yukarıdaki sorgunun alternatifi aşağıdaki gibidir.Fakat tek fark alt sorgudan Null değer geldiği için
Sorgu da herhangi bir kayıt dönemeyecktir.

SQL > SELECT department_id, department_name
FROM departments
WHERE department_id NOT IN (SELECT department_id
FROM employees);

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: