gpt4 book ai didi

mysql - 为什么 SELECT 结果重复 4 次?

转载 作者:行者123 更新时间:2023-11-29 09:28:57 26 4
gpt4 key购买 nike

我有这些表:

Table 1

Table 2

当我尝试在它们之间进行选择时,获取 APELLIDO 列:

SELECT APELLIDO FROM EMP, DEPT WHERE (EMP.DEPT_NO = 30);

它显示了正确的信息,但重复了 4 次!为什么会发生这种情况?难道不对吗?另一个事实是,如果我使用另一句话

SELECT APELLIDO FROM EMP WHERE DEPT_NO IN (SELECT DEPT_NO FROM DEPT WHERE DEPT_NO = 30);

它显示正确,但为什么另一个命令会这样呢?谢谢。

最佳答案

切勿FROM子句中使用逗号。 始终使用正确、明确、标准 JOIN 语法:

但是就您而言,您甚至不需要JOIN。所有信息都在 EMP 中:

SELECT EMP.APELLIDO 
FROM EMP
WHERE EMP.DEPT_NO = 30;

, 运算符执行CROSS JOIN——完整的笛卡尔积。没有理由对这两个表执行此操作。

关于mysql - 为什么 SELECT 结果重复 4 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59115910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com