首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

跨多表資料組合 SQL 語法詳解 (1/2):隱性 JOIN 與顯性 JOIN

     編輯:關於SqlServer

基本 SELECT 多表查詢

在 FROM 列出多個表,WHERE 指定聯結條件,即為隱性 INNER JOIN:

SELECT t1.col1, t2.col2 FROM t1, t2 WHERE t1.col1 = t2.col1;
  • 欄位前綴表名(t1.col1)提升可讀性並避免歧義。
  • 可擴展至多表:WHERE t1.col1 = t2.col1 AND t1.col1 = t3.col1。
  • 可只聯結不輸出某表欄位(如僅驗證存在性)。

顯性 JOIN 語法

優點:結果集控制更精確、多表時效能可能更好。類型:

  • INNER JOIN:僅回傳雙方皆有資料的列(等同隱性 JOIN)。
  • LEFT/RIGHT/FULL OUTER JOIN:保留左/右/兩側所有列,無對應則為 NULL。
  • CROSS JOIN:笛卡兒積。

範例:INNER JOIN

SELECT t1.col1, t2.col2 FROM t1 INNER JOIN t2 ON t1.col1 = t2.col1;

ON 子句取代 WHERE 指定聯結條件,語意更清晰。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved