gpt4 book ai didi

mysql - 从第一个表中获取不在第二个表mysql中的记录

转载 作者:行者123 更新时间:2023-11-29 05:48:21 26 4
gpt4 key购买 nike

我在这两个mysql表中有如下记录。

表-A

       Question_No 
1
2
3
4
5

表-B

Roll_No  Question_No  Ans_Option
1001 1 NULL
1001 2 D
1001 3 NULL
1002 1 C
1002 2 NULL

这里“NULL”这个词被明确地插入到 column 中,没有什么可混淆的。

如何通过mysql查询显示如下结果?

       Questions not attempted by roll no 1001 are : 1, 3, 4, 5 
Questions not attempted by roll no 1002 are : 2, 3, 4, 5

我试过下面的代码但没有工作

select distinct a.* from table_A a NATURAL LEFT JOIN table_B b where 
b.Question_No IS NULL and b.Roll_No=1001;// where I am wrong here ? I have
not set any column as primary key , should I set?

非常感谢

最佳答案

当您将 WHERE 条件放在 LEFT OUTER JOIN 上时,它实际上与 INNER JOIN 相同:

select distinct a.* 
from table_A a
NATURAL LEFT JOIN table_B b
where b.Question_No IS NULL
and b.Roll_No=1001; -- this condition makes it `NATURAL JOIN`

您可以将其重写为:

SELECT DISTINCT a.*
FROM table_A a
LEFT JOIN table_b b
ON a.Question_No = b.Question_No
AND b.Roll_No=1001
WHERE b.Ans_Option_No IS NULL

db<>fiddle demo

关于mysql - 从第一个表中获取不在第二个表mysql中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57234510/

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