NOT EXISTS function with table join : Table Join « Table Joins « SQL Server / T-SQL






NOT EXISTS function with table join


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>
3> CREATE TABLE department(dept_no   CHAR(4) NOT NULL,
4>                         dept_name CHAR(25) NOT NULL,
5>                         location  CHAR(30) NULL)
6>
7> insert into department values ('d1', 'developer',   'Dallas')
8> insert into department values ('d2', 'tester',      'Seattle')
9> insert into department values ('d3', 'marketing',  'Dallas')
10>
11> select * from department
12> 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> -- NOT EXISTS function.
3>
4> SELECT emp_lname FROM employee WHERE NOT EXISTS
5>        (SELECT * FROM department WHERE employee.dept_no = department.dept_no
6>          AND location = 'Seattle')
7>
8> drop table department
9> drop table employee
10> GO
emp_lname
--------------------
Smith
Jones
Barrimore
Moser

(4 rows affected)
1>
2>
           
       








Related examples in the same category

1.Joining a Table with Itself
2.SQL Server join syntax
3.SET SHOWPLAN_TEXT ON for a table join
4.Joins are advantageous over subqueries if the SELECT list in a query contains columns from more than one table
5.Use Count function in a left join
6.Table join with data returned from function
7.Select columns from all tables
8.Column alias in table join
9.Using TOP in table join