我需要创建一个选择语句,该语句需要从其他表的列数据中检索数据。
例如:
Table1 Table2
id id2
age age2
从表1中选择id和age,其中id=id2
这是否可能。
您可以使用INNER JOIN
SELECT
T1.id,
T1.age
FROM Table1 AS T1
INNER JOIN Table2 AS T2
ON T1.id = T2.id2
你可以使用EXISTS
SELECT
T1.id,
T1.age
FROM Table1 AS T1
WHERE EXISTS(
SELECT 1
FROM Table2 AS T2
WHERE T2.id2 = T1.id
);
您可以使用IN
SELECT
T1.id,
T1.age
FROM Table1 AS T1
WHERE T1.id IN (SELECT T2.id2 FROM Table2 AS T2)
注意:
在工作演示中,输出由两行组成。在tabel1
中有两个条目,在table2
中有三个条目。但是在这两个表格之间只找到了两个匹配的条目。这就是为什么输出只包含两行的原因。
SELECT id ,age
FROM TABLE 1
WHERE id IN (SELECT id2 FROM TABLE2);
或者
SELECT id ,age
FROM TABLE1 , TABLE2
WHERE id = id2 ;
或者
SELECT id ,age
FROM TABLE 1 , (SELECT id2 FROM TABLE2) TBL2
WHERE id = TBL2.id2 ;