mysql - 一个表能否获取其他表列数据

标签 mysql sql tsql

我需要创建一个 select 语句,该语句需要从其他表列数据中检索数据

例如。

   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

DEMO using INNER JOIN

您可以使用 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 中有三个条目。但是在这两个表之间只找到两个匹配条目。这就是输出仅包含两行的原因。

关于mysql - 一个表能否获取其他表列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38582444/

相关文章:

sql - 存储过程在 CONCAT 语句中包含参数后立即使用 CONCAT 函数截断变量

mysql - 提高自 JOIN SQL 查询性能

c# - 在 C# 中使用 ADO.NET 进行登录身份验证

mysql - 如何检查列值是否包含整数

mysql - 按任意字母对 MYSQL 结果进行排序的方法(即显示所有以 F 开头的行)

mysql - SQL 列合并

mysql - 在mysql社区服务器/工作台上加载本地数据

sql - 如何将 2 行(即进入和退出日期)变成 1 行

c# - 插入后数据库中只插入了 "string"的一个字符

sql-server - T-SQL 在引用表中发现完全相同的值