標籤:
SELECT * FROM Table_A GO SELECT * FROM Table_B GO --內串連 SELECT a.*, b.* FROM Table_A a JOIN Table_B b ON a.ID = b.ID SELECT a.*, b.* FROM Table_A a INNER JOIN Table_B b ON a.ID = b.ID GO --內串連等價直接多表from的形式 SELECT a.*, b.* FROM Table_A a INNER JOIN Table_B b ON a.ID = b.ID SELECT a.*, b.* FROM Table_A a, Table_B b WHERE a.ID = b.ID --左串連 SELECT a.*, b.* FROM Table_A a LEFT JOIN Table_B b ON a.ID = b.ID SELECT a.*, b.* FROM Table_A a LEFT OUTER JOIN Table_B b ON a.ID = b.ID GO --右串連 SELECT a.*, b.* FROM Table_A a RIGHT JOIN Table_B b ON a.ID = b.ID SELECT a.*, b.* FROM Table_A a RIGHT OUTER JOIN Table_B b ON a.ID = b.ID --A左串連B 等價於 B右串連A SELECT a.*, b.* FROM Table_A a LEFT JOIN Table_B b ON a.ID = b.ID SELECT a.*, b.* FROM Table_B b RIGHT JOIN Table_A a ON a.ID = b.ID --全串連 SELECT a.*, b.* FROM Table_A a FULL JOIN Table_B b ON a.ID = b.ID SELECT a.*, b.* FROM Table_A a FULL OUTER JOIN Table_B b ON a.ID = b.ID --沒有 WHERE 子句的交叉聯結將產生所涉及的表的笛卡爾積。 SELECT a.*, b.* FROM Table_A a CROSS JOIN Table_B b --如果添加了 WHERE 子句,則交叉聯結的行為將與內部聯結行為相似 SELECT a.*, b.* FROM Table_A a CROSS JOIN Table_B b WHERE a.ID = b.ID SELECT a.*, b.* FROM Table_A a INNER JOIN Table_B b ON a.ID = b.ID
SQL Server 2008 R2——內串連 左串連 右串連 全串連 交叉串連