Sql 查询条件中的疑问

Sql 查询条件中的疑问,sql,sqlite,Sql,Sqlite,我有两张桌子 1.雇员 2.假期 我的问题是如何查询以从table1Employee获取EMP_名称,其中今天不在table2Vacations的休假开始日期和休假结束日期之间。请尝试以下操作:假设您没有EMP_名称休假表..以及EMP_代码以及两个表之间的关系。所以你可以使用连接 不确定您的意思是今天是一个变量还是系统日期,因此可能需要修改以下代码,但我认为它可能会起作用: SELECT EMP_NAME FROM EMPLOYEE WHERE NOT EXISTS (

我有两张桌子

1.雇员

2.假期


我的问题是如何查询以从table1Employee获取EMP_名称,其中今天不在table2Vacations的休假开始日期和休假结束日期之间。

请尝试以下操作:假设您没有EMP_名称休假表..以及EMP_代码以及两个表之间的关系。所以你可以使用连接


不确定您的意思是今天是一个变量还是系统日期,因此可能需要修改以下代码,但我认为它可能会起作用:

SELECT
    EMP_NAME
FROM
    EMPLOYEE
WHERE
    NOT EXISTS (SELECT * FROM VACATIONS WHERE EMP_NAME = EMPLOYEE.EMP_NAME AND
                VACATIONS.VACATION_START_DATE >= Today AND
                VACATIONS.VACATION_END_DATE <= Today)

emp名称和代码如何与表中的ACREOS相关?例如,如果两个表中的emp_代码相同,emp_名称是否相同?@Mark I发布了答案,假设是打字错误…:
EMP_NAME,

EMP_CODE,

VACATION_START_DATE-->date type

VACATION_END_DATE-->date type,
select e.emp_code, e.emp_name, 
v.start_date, v.end_Date
from emp e
inner join
vacation v
on e.emp_code = v.emp_code
where not (Now() between v.start_date 
and v.end_date)
;

| EMP_CODE | EMP_NAME |                      START_DATE |                        END_DATE |
-------------------------------------------------------------------------------------------
|        1 |     john | December, 10 2012 00:00:00+0000 | December, 20 2012 00:00:00+0000 |
|        2 |     kate | December, 20 2012 00:00:00+0000 | December, 30 2012 00:00:00+0000 |
|        3 |      tim | December, 24 2012 00:00:00+0000 |  January, 01 2013 00:00:00+0000 |
|        1 |     john |  January, 01 2013 00:00:00+0000 |  January, 08 2013 00:00:00+0000 |
SELECT
    EMP_NAME
FROM
    EMPLOYEE
WHERE
    NOT EXISTS (SELECT * FROM VACATIONS WHERE EMP_NAME = EMPLOYEE.EMP_NAME AND
                VACATIONS.VACATION_START_DATE >= Today AND
                VACATIONS.VACATION_END_DATE <= Today)