嗨,我有两个mysql表table1和table 2。

表格1:-

batch    semester  scode
IT         6        DA
IT         6        IA
IT         6        FA


表2:-

batch    subject   user
IT        DA       1


我想运行查询以获取此输出:-

scode
IA
FA


因此,基本上我想从表1中检索ID为1且批处理为IT且学期为6的用户在表2中不存在的值。我不熟悉从两个表中获取数据的概念,因此无法思考一种方法。非常感谢您的帮助。

最佳答案

您可以使用NOT EXISTS

SELECT
scode
FROM TABLE1 T1
WHERE NOT EXISTS (
   SELECT 1 FROM TABLE2 T2 WHERE T1.scode = T2.subject
);




SEE DEMO



您可以使用NOT IN

SELECT
scode
FROM TABLE1 T1
WHERE T1.scode NOT IN (
   SELECT T2.subject FROM TABLE2 T2
)


SEE DEMO

09-17 20:34