SQL Server join syntax : Table Join « Table Joins « SQL Server / T-SQL

Home
SQL Server / T-SQL
1.Aggregate Functions
2.Analytical Functions
3.Constraints
4.Cursor
5.Data Set
6.Data Type
7.Database
8.Date Timezone
9.Index
10.Insert Delete Update
11.Math Functions
12.Select Query
13.Sequence
14.Store Procedure Function
15.String Functions
16.Subquery
17.System
18.Table
19.Table Joins
20.Transact SQL
21.Transaction
22.Trigger
23.View
24.XML
SQL Server / T-SQL » Table Joins » Table Join 
SQL Server join syntax


26CREATE TABLE employee  (emp_no    INTEGER NOT NULL,
27>                         emp_fname CHAR(20NOT NULL,
28>                         emp_lname CHAR(20NOT NULL,
29>                         dept_no   CHAR(4NULL)
30>
31insert into employee values(1,  'Matthew', 'Smith',    'd3')
32insert into employee values(2,  'Ann',     'Jones',    'd3')
33insert into employee values(3,  'John',    'Barrimore','d1')
34insert into employee values(4,  'James',   'James',    'd2')
35insert into employee values(5,  'Elsa',    'Bertoni',  'd2')
36insert into employee values(6,  'Elke',    'Hansel',   'd2')
37insert into employee values(7,  'Sybill',  'Moser',    'd1')
38>
39select from employee
40> GO

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)
emp_no      emp_fname            emp_lname            dept_no
----------- -------------------- -------------------- -------
          Matthew              Smith                d3
          Ann                  Jones                d3
          John                 Barrimore            d1
          James                James                d2
          Elsa                 Bertoni              d2
          Elke                 Hansel               d2
          Sybill               Moser                d1

(rows affected)
1>
2>
3CREATE TABLE department(dept_no   CHAR(4NOT NULL,
4>                         dept_name CHAR(25NOT NULL,
5>                         location  CHAR(30NULL)
6>
7insert into department values ('d1', 'developer',   'Dallas')
8insert into department values ('d2', 'tester',      'Seattle')
9insert into department values ('d3', 'marketing',  'Dallas')
10>
11select from department
12> GO

(rows affected)

(rows affected)

(rows affected)
dept_no dept_name                 location
------- ------------------------- ------------------------------
d1      developer                 Dallas
d2      tester                    Seattle
d3      marketing                 Dallas

(rows affected)
1>
2CREATE TABLE project   (project_no   CHAR(4NOT NULL,
3>                         project_name CHAR(15NOT NULL,
4>                         budget FLOAT NULL)
5>
6insert into project values ('p1', 'Search Engine',        120000.00)
7insert into project values ('p2', 'Programming',          95000.00)
8insert into project values ('p3', 'SQL',                  186500.00)
9>
10select from project
11> GO

(rows affected)

(rows affected)

(rows affected)
project_no project_name    budget
---------- --------------- ------------------------
p1         Search Engine                     120000
p2         Programming                        95000
p3         SQL                               186500

(rows affected)
1>
2CREATE TABLE works_on        (emp_no       INTEGER NOT NULL,
3>                         project_no    CHAR(4NOT NULL,
4>                         job CHAR (15NULL,
5>                         enter_date    DATETIME NULL)
6>
7insert into works_on values (1'p1', 'analyst', '1997.10.1')
8insert into works_on values (1'p3', 'manager', '1999.1.1')
9insert into works_on values (2'p2', 'clerk',   '1998.2.15')
10insert into works_on values (2'p2',  NULL,     '1998.6.1')
11insert into works_on values (3'p2',  NULL,     '1997.12.15')
12insert into works_on values (4'p3', 'analyst', '1998.10.15')
13insert into works_on values (5'p1', 'manager', '1998.4.15')
14insert into works_on values (6'p1',  NULL,     '1998.8.1')
15insert into works_on values (7'p2', 'clerk',   '1999.2.1')
16insert into works_on values (8'p3', 'clerk',   '1997.11.15')
17insert into works_on values (7'p1', 'clerk',   '1998.1.4')
18>
19select from works_on
20> GO

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)

(rows affected)
emp_no      project_no job             enter_date
----------- ---------- --------------- -----------------------
          p1         analyst         1997-10-01 00:00:00.000
          p3         manager         1999-01-01 00:00:00.000
          p2         clerk           1998-02-15 00:00:00.000
          p2         NULL            1998-06-01 00:00:00.000
          p2         NULL            1997-12-15 00:00:00.000
          p3         analyst         1998-10-15 00:00:00.000
          p1         manager         1998-04-15 00:00:00.000
          p1         NULL            1998-08-01 00:00:00.000
          p2         clerk           1999-02-01 00:00:00.000
          p3         clerk           1997-11-15 00:00:00.000
          p1         clerk           1998-01-04 00:00:00.000

(11 rows affected)
1> -- ANSI join syntax:
2>
3SELECT DISTINCT project_name
4>          FROM project JOIN works_on
5>          ON project.project_no = works_on.project_no
6>               JOIN employee ON works_on.emp_no = employee.emp_no
7>               JOIN department ON employee.dept_no = department.dept_no
8>          WHERE dept_name = 'marketing'
9> GO
project_name
---------------
Programming
Search Engine
SQL

(rows affected)
1> -- SQL Server join syntax:
2>
3SELECT DISTINCT project_name
4>        FROM project, works_on, employee, department
5>        WHERE project.project_no = works_on.project_no
6>        AND works_on.emp_no = employee.emp_no
7>        AND employee.dept_no = department.dept_no
8>        AND dept_name = 'marketing'
9> GO
project_name
---------------
Programming
Search Engine
SQL

(rows affected)
1>
2> drop table project
3> drop table works_on
4> drop table employee
5> drop table department
6> GO
1>
           
       
Related examples in the same category
1.Joining a Table with Itself
2.SET SHOWPLAN_TEXT ON for a table join
3.Joins are advantageous over subqueries if the SELECT list in a query contains columns from more than one table
4.Use Count function in a left join
5.Table join with data returned from function
6.NOT EXISTS function with table join
7.Select columns from all tables
8.Column alias in table join
9.Using TOP in table join
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.