关于Join的Sql Query

时间:2018-04-09 19:05:50

标签: sql

我有两张表如下:

表1:

Name | Specialisation

表2:

Name | Slot | Date

我接受用户输入的名称,插槽和日期。我想显示该名称的Table1的记录,以便不存在与表2中输入的(Name,Slot,Date)相对应的记录。对它的SQL查询是什么?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以使用not in

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
) 

答案 1 :(得分:0)

假设输入值为input_nameinput_slotinput_datainput_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

或类似的......:)