5

Click here to load reader

T-SQL Table Joins · T-SQL Table Joins Table joins Inner Join Left Join Right Join Self Join Table Inner Join Inner Join Example: Customers Table CUSTOMER_IDCUSTOMER_NAMECUSTOMER_TYPE

Embed Size (px)

Citation preview

Page 1: T-SQL Table Joins · T-SQL Table Joins Table joins Inner Join Left Join Right Join Self Join Table Inner Join Inner Join Example: Customers Table CUSTOMER_IDCUSTOMER_NAMECUSTOMER_TYPE

T-SQL Table Joins

www.tsql.info

Table joins Inner JoinLeft JoinRight JoinSelf Join

Table Inner Join

Inner Join Example:

Customers TableCUSTOMER_ID CUSTOMER_NAME CUSTOMER_TYPE1 CUSTOMER_1 CC2 CUSTOMER_2 I3 CUSTOMER_3 SM4 CUSTOMER_4 CC

Contracts TableCONTRACT_ID CUSTOMER_ID AMOUNT1 1 4002 2 5003 3 7004 1 10005 2 12006 4 9007 3 20008 2 1500

Page 2: T-SQL Table Joins · T-SQL Table Joins Table joins Inner Join Left Join Right Join Self Join Table Inner Join Inner Join Example: Customers Table CUSTOMER_IDCUSTOMER_NAMECUSTOMER_TYPE

SELECT c.customer_id, c.customer_name, ctr.contract_id, ctr.amount FROM customers c, contracts ctr WHERE c.customer_id = ctr.customer_id AND ctr.amount > 900 ;

Result:Customer_Id Customer_Name Contract_Id Amount1 CUSTOMER_1 4 10002 CUSTOMER_2 8 15002 CUSTOMER_2 5 12003 CUSTOMER_3 7 2000

Table Left Join

Left Join Example:

Customers TableCUSTOMER_ID CUSTOMER_NAME CONTACT_NAME1 CUSTOMER_1 NAME_12 CUSTOMER_2 NAME_23 CUSTOMER_3 NAME_34 CUSTOMER_4 NAME_45 CUSTOMER_56 CUSTOMER_6

Contracts TableCONTRACT_ID CUSTOMER_ID AMOUNT1 1 4002 2 5003 3 7004 1 10005 2 12006 4 9007 3 20008 2 1500

Page 3: T-SQL Table Joins · T-SQL Table Joins Table joins Inner Join Left Join Right Join Self Join Table Inner Join Inner Join Example: Customers Table CUSTOMER_IDCUSTOMER_NAMECUSTOMER_TYPE

SELECT c.customer_id, c.customer_name, ctr.contract_id, ctr.amount FROM customers c LEFT JOIN contracts ctr ON c.customer_id = ctr.customer_id ORDER BY c.customer_id ;

Result:Customer_Id Customer_Name Contract_Id Amount1 CUSTOMER_1 1 4001 CUSTOMER_1 4 10002 CUSTOMER_2 2 5002 CUSTOMER_2 5 12002 CUSTOMER_2 8 15003 CUSTOMER_3 3 7003 CUSTOMER_3 7 20004 CUSTOMER_4 6 9005 CUSTOMER_56 CUSTOMER_6

Table Right Join

Right Join Example:

Customers TableCUSTOMER_ID CUSTOMER_NAME USER_NAME1 CUSTOMER_1 SYSTEM2 CUSTOMER_2 ELLEN3 CUSTOMER_3 TOM4 CUSTOMER_4 STEVE5 CUSTOMER_56 CUSTOMER_6

Users TableUSER_NAME DEPARTMENT_NAMESYSTEM ITTOM SALESSTEVE SALESELLEN SALESJOHN IT

Page 4: T-SQL Table Joins · T-SQL Table Joins Table joins Inner Join Left Join Right Join Self Join Table Inner Join Inner Join Example: Customers Table CUSTOMER_IDCUSTOMER_NAMECUSTOMER_TYPE

SELECT c.customer_id, c.customer_name, c.user_name FROM users u RIGHT JOIN customers c ON c.user_name = u.user_name ORDER BY c.customer_id ;

Result:Customer_Id Customer_Name User_Name1 CUSTOMER_1 SYSTEM2 CUSTOMER_2 ELLEN3 CUSTOMER_3 TOM4 CUSTOMER_4 STEVE5 CUSTOMER_56 CUSTOMER_6

Table Self Join

Self Join Example:

Users TableID USER_NAME DEPARTMENT_NAME MANAGER_ID1 SYSTEM IT 12 TOM SALES 23 STEVE SALES 24 ELLEN SALES 25 JOHN IT 1

SELECT u.id, u.user_name, m.id manager_id, m.user_name manager FROM users u, users m WHERE u.manager_id = m.id ORDER BY u.id ;

Result:Id User_Name Manager_Id Manager1 SYSTEM 1 SYSTEM2 TOM 2 TOM3 STEVE 2 TOM4 ELLEN 2 TOM5 JOHN 1 SYSTEM

Page 5: T-SQL Table Joins · T-SQL Table Joins Table joins Inner Join Left Join Right Join Self Join Table Inner Join Inner Join Example: Customers Table CUSTOMER_IDCUSTOMER_NAMECUSTOMER_TYPE

Resources:

www.tsql.info/table-joins/joins.php