首页 > 数据库 >SQL251 使用含有关键字exists查找未分配具体部门的员工的所有信息。

SQL251 使用含有关键字exists查找未分配具体部门的员工的所有信息。

时间:2024-07-22 22:52:19浏览次数:10  
标签:exists no SQL251 dept 关键字 emp date NULL

SQL251 使用含有关键字exists查找未分配具体部门的员工的所有信息。

描述
使用含有关键字exists查找未分配具体部门的员工的所有信息。

CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));

输出格式:

emp_no	birth_date	first_name	last_name	gender	hire_date
10011	1953-11-07	Mary	Sluis	F	1990-01-22

答案

select * from employees
where not  exists(
    select 1
    from dept_emp
    where employees.emp_no = dept_emp.emp_no
);

补充
MySQL 中的 EXISTS 语法用于在子查询中测试是否存在至少一行数据。如果子查询返回至少一行数据,则 EXISTS 条件为真(TRUE),并且外部查询会执行相应的操作(如返回数据)。如果子查询没有返回任何行,则 EXISTS 条件为假(FALSE),并且外部查询可能会忽略(基于上下文)或返回不同的结果。EXISTS 子查询通常与 SELECT 1 或其他不返回实际数据的查询一起使用,因为 EXISTS 只关心是否存在行,而不关心行的具体内容。

标签:exists,no,SQL251,dept,关键字,emp,date,NULL
From: https://www.cnblogs.com/eaapple/p/18317175

相关文章

  • MySql if not exists 使用详解
     IFNOTEXISTS可以用于创建表或者数据库的语句中,用于避免重复创建。创建表时使用IFNOTEXISTS:如果你不确定表是否存在,你可以在创建新表时使用IFNOTEXISTS,这样如果表已经存在,SQL语句将不会执行创建表的操作,也不会报错。CREATETABLEIFNOTEXISTStable_name......
  • 大表关联 not exists 卡死问题
    检查是否有适当的索引:确保用于NOTEXISTS子查询的列上有索引,这样数据库可以快速确定是否存在符合条件的记录。 优化查询:减少返回的数据量:使用WHERE子句来限制需要检查的数据范围。分批处理:如果可能,将大的NOTEXISTS查询分解为多个小的查询,并且在可接受的时......
  • vue3 async 关键字
    async关键字用于声明一个异步函数,这个函数会返回一个Promise对象。与await关键字配合使用时,可以在异步函数中暂停代码执行,直到Promise解决或拒绝,从而使异步代码的处理更简单和同步化。使用async的示例下面是一个完整的Vue3组件示例,展示了如何使用async和await来......
  • robotframework关键字库的定义
    学习总结,有错误欢迎指出。总结:robotframework关键字库定义包含两种方式:模块(不建议)和类。1.关键字定义1)模块(略)2)类定义     模块名和类名需要一致,模块名和类名需要一致,模块名和类名需要一致。引入     如果初始函数含有变量,引入关键字库时需要......
  • synchronized关键字
    在Java中,关键字synchronized可以保证在同一个时刻,只有一个线程可以执行某个方法或者某个代码块(主要是对方法或者代码块中存在共享数据的操作),同时我们还应该注意到synchronized的另外一个重要的作用,synchronized可保证一个线程的变化(主要是共享数据的变化)被其他线程......
  • volatile关键字
    volatile可以保证可见性,但不保证原子性:当写一个volatile变量时,JMM会把该线程在本地内存中的变量强制刷新到主内存中去;这个写操作会导致其他线程中的volatile变量缓存无效。volatile会禁止指令重排重排序需要遵守的规则:重排序不会对存在数据依赖关系的操作进行重排......
  • MySQL中的using关键字
    先创建两张表CREATETABLEemployees(employee_idINTAUTO_INCREMENTPRIMARYKEY,nameVARCHAR(50),positionVARCHAR(50),salaryDECIMAL(10,2));INSERTINTOemployees(employee_id,name,position,salary)VALUES(1,'JohnDoe'......
  • java基础知识(3)—关键字
    在Java编程的广阔领域中,关键字宛如一把把精确的工具,赋予开发者准确表达意图和实现复杂逻辑的能力。访问控制关键字:private:确保变量、方法或内部类仅在所属的类内部可访问,为数据提供了最高级别的隐私保护。protected:在继承关系中,允许子类和同一包中的类访问特定的成员。pu......
  • 【final 关键字的理解】
    final关键字final关键字主要作用为防止数据被修改,保证代码安全。可以用于修饰:类、类中方法、变量、参数;修饰类相关代码代码解读finalclassPerson{}//错误,不可以继承被final修饰的类classStudentextendsPerson{}概念当使用final关键字修饰类的时候,表......
  • C#中implicit 关键字的使用:隐式转换操作符
    在C#中,implicit 关键字用于定义隐式转换操作符。隐式转换操作符允许自动将一种数据类型转换为另一种类型,而无需显式地调用转换方法或进行类型转换。下面将详细介绍 implicit 关键字的定义和使用。1.隐式转换操作符定义隐式转换操作符可以定义在一个类或结构体中,使得该......