从不带where的联接2表查询子查询或从带where的已联接表查询fasster

  • 本文关键字:查询 where fasster sql join
  • 更新时间 :
  • 英文 :


假设我有两个表A(ID, col1, col2(和B(ID, col1, col2(。

写更好吗

SELECT * 
FROM
(SELECT * 
FROM A 
WHERE col1 = 1) A 
JOIN 
(SELECT * 
FROM B 
WHERE col2 = 2) B ON A.ID = B.ID

或者更确切地说:

SELECT * 
FROM A 
JOIN B ON A.ID = B.ID 
WHERE A.col1 = 1 
AND B.col2 = 2

是。最好使用联接。

使用WHERE子句联接数据不允许像LEFT|RIGHT JOIN那样获取数据。WHERE子句允许您以INNER JOIN的方式获取数据。

有关更多详细信息,请参阅:SQL Joins 的可视化表示

最新更新