- T-SQL 教程
- T-SQL - 首頁
- T-SQL - 概述
- T-SQL - 資料型別
- T-SQL - 建立表
- T-SQL - 刪除表
- T-SQL - INSERT 語句
- T-SQL - SELECT 語句
- T-SQL - UPDATE 語句
- T-SQL - DELETE 語句
- T-SQL - WHERE 子句
- T-SQL - LIKE 子句
- T-SQL - ORDER BY 子句
- T-SQL - GROUP BY 子句
- T-SQL - DISTINCT 子句
- T-SQL - 表連線
- T-SQL - 子查詢
- T-SQL - 儲存過程
- T-SQL - 事務
- T-SQL - 索引
- T-SQL - 函式
- T-SQL - 字串函式
- T-SQL - 日期函式
- T-SQL - 數值函式
- T-SQL 有用資源
- T-SQL - 快速指南
- T-SQL - 有用資源
- T-SQL - 討論
T-SQL - 表連線
MS SQL Server 的連線子句用於組合資料庫中兩個或多個表中的記錄。連線是一種透過使用每個表共有的值來組合兩個表中的欄位的方法。
考慮以下兩個表,(a) CUSTOMERS 表如下所示:
ID NAME AGE ADDRESS SALARY 1 Ramesh 32 Ahmedabad 2000.00 2 Khilan 25 Delhi 1500.00 3 kaushik 23 Kota 2000.00 4 Chaitali 25 Mumbai 6500.00 5 Hardik 27 Bhopal 8500.00 6 Komal 22 MP 4500.00 7 Muffy 24 Indore 10000.00
(b) 另一個表是 ORDERS,如下所示:
OID DATE CUSTOMER_ID AMOUNT 100 2009-10-08 00:00:00.000 3 1500.00 101 2009-11-20 00:00:00.000 2 1560.00 102 2009-10-08 00:00:00.000 3 3000.00 103 2008-05-20 00:00:00.000 4 2060.00
讓我們在 SELECT 語句中連線這兩個表,如下所示:
SELECT ID, NAME, AGE, AMOUNT FROM CUSTOMERS, ORDERS WHERE CUSTOMERS.ID = ORDERS.CUSTOMER_ID OR SELECT A.ID, A.NAME, A.AGE, B.AMOUNT FROM CUSTOMERS A inner join ORDERS B on A.ID = B.Customer_ID
以上命令將產生以下輸出。
ID NAME AGE AMOUNT 2 Khilan 25 1560.00 3 kaushik 23 1500.00 3 kaushik 23 3000.00 4 Chaitali 25 2060.00
可以注意到,連線是在 WHERE 子句中執行的。可以使用多個運算子來連線表,例如 =、<、>、<>、<=、>=、!=、BETWEEN、LIKE 和 NOT;它們都可以用於連線表。但是,最常見的運算子是等號。
MS SQL Server 連線型別 -
MS SQL Server 中有不同型別的連線 -
內部連線 (INNER JOIN) - 當兩個表中都有匹配項時返回行。
左連線 (LEFT JOIN) - 返回左側表中的所有行,即使右側表中沒有匹配項。
右連線 (RIGHT JOIN) - 返回右側表中的所有行,即使左側表中沒有匹配項。
全連線 (FULL JOIN) - 當其中一個表中存在匹配項時返回行。
自連線 (SELF JOIN) - 這用於將一個表連線到自身,就好像該表是兩個表一樣,在 MS SQL Server 語句中臨時重新命名至少一個表。
笛卡爾積連線 (CARTESIAN JOIN) - 返回兩個或多個連線表中記錄集的笛卡爾積。
廣告
