[英]Comparing two columns in two different tables
我有兩個表A
和B
,其中表A
有一列X
,表B
有列Y
這些列包含帳號信息。 我想檢查BY
列中是否存在列AX
的帳號信息。
注意:列X
和Y
都可以有重復項,因為它們類似於復合主鍵。
我怎么能解決這個問題?
這將為您提供表A
中的帳戶信息,該信息也存在於表B
。 檢查由相關子查詢完成,該子查詢檢查A
每一行是否存在B
的帳戶信息。
SELECT DISTINCT
X
FROM
A
WHERE
EXISTS (
SELECT
*
FROM
B
WHERE
B.Y=A.X
);
您可以使用INNER JOIN
,如下所示:
SELECT *
FROM table1 a
INNER JOIN table2 b
ON a.X = b.Y
要么
你可以去IF EXISTS
,像這樣:
SELECT *
FROM table1 a
WHERE EXISTS(
SELECT 1
FROM table2 b
WHERE a.x=b.Y )
選擇不同(X)
來自A,B
WHERE AX = BY
這將為您提供A中不在B中的帳號列表:
SELECT X FROM (
SELECT DISTINCT X FROM A
) A
LEFT JOIN B ON Y = X
WHERE Y IS NULL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.