Subqueries and IN Operator
1> 2> CREATE TABLE employee (emp_no INTEGER NOT NULL, 3> emp_fname CHAR(20) NOT NULL, 4> emp_lname CHAR(20) NOT NULL, 5> dept_no CHAR(4) NULL) 6> 7> insert into employee values(1, 'Matthew', 'Smith', 'd3') 8> insert into employee values(2, 'Ann', 'Jones', 'd3') 9> insert into employee values(3, 'John', 'Barrimore','d1') 10> insert into employee values(4, 'James', 'James', 'd2') 11> insert into employee values(5, 'Elsa', 'Bertoni', 'd2') 12> insert into employee values(6, 'Elke', 'Hansel', 'd2') 13> insert into employee values(7, 'Sybill', 'Moser', 'd1') 14> 15> select * from employee 16> GO (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) emp_no emp_fname emp_lname dept_no ----------- -------------------- -------------------- ------- 1 Matthew Smith d3 2 Ann Jones d3 3 John Barrimore d1 4 James James d2 5 Elsa Bertoni d2 6 Elke Hansel d2 7 Sybill Moser d1 (7 rows affected) 1> 2> CREATE TABLE department(dept_no CHAR(4) NOT NULL, 3> dept_name CHAR(25) NOT NULL, 4> location CHAR(30) NULL) 5> 6> insert into department values ('d1', 'developer', 'Dallas') 7> insert into department values ('d2', 'tester', 'Seattle') 8> insert into department values ('d3', 'marketing', 'Dallas') 9> 10> select * from department 11> GO (1 rows affected) (1 rows affected) (1 rows affected) dept_no dept_name location ------- ------------------------- ------------------------------ d1 developer Dallas d2 tester Seattle d3 marketing Dallas (3 rows affected) 1> 2> -- Subqueries and IN Operator 3> 4> SELECT * FROM employee WHERE dept_no IN 5> (SELECT dept_no FROM department WHERE location = 'Dallas') 6> GO emp_no emp_fname emp_lname dept_no ----------- -------------------- -------------------- ------- 1 Matthew Smith d3 2 Ann Jones d3 3 John Barrimore d1 7 Sybill Moser d1 (4 rows affected) 1> 2> drop table employee 3> drop table department 4> GO 1> 2>
1. | Nested three level subquery with IN operator | ||
2. | Use IN operator for a single value | ||
3. | Using the IN() Function for subquery | ||
4. | Reversing the logic using the NOT IN operator |