Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于联接的Sql查询_Sql - Fatal编程技术网

关于联接的Sql查询

关于联接的Sql查询,sql,Sql,我有两个表格如下: 表1: Name | Specialisation 表2: Name | Slot | Date 我接受用户输入的姓名、时隙和日期。我希望显示表1中该名称的记录,以便不存在与表2中输入的(名称、插槽、日期)对应的记录。它的SQL查询是什么 提前感谢。您可以使用不在 select name from table1 where name not in ( select name from table2 ) 还是不存在 select name from table1 whe

我有两个表格如下:

表1:

Name | Specialisation
表2:

Name | Slot | Date
我接受用户输入的姓名、时隙和日期。我希望显示表1中该名称的记录,以便不存在与表2中输入的(名称、插槽、日期)对应的记录。它的SQL查询是什么

提前感谢。

您可以使用不在

select name
from table1
where name not in (
select name from table2
) 
还是不存在

select name
from table1
where name not exists (
select name from table2
where table2.name = table1.name
) 

假设输入值为
input\u name
input\u slot
input\u data
,并且
input\u date
是一种合适的日期格式,一种方法是:

select name, specialisation from table1
where (name = input_name)
    and (select name from table2
         where (table2.name = input_name) and
               (table2.slot = input_slot) and
               (table2.date = input_date)) is NULL
或者类似的…:)