gpt4 book ai didi

mysql - SQL 计数与 SELECT 子句中的另一个表

转载 作者:行者123 更新时间:2023-11-29 03:56:24 26 4
gpt4 key购买 nike

在我的数据库中,有 2 个不同的字段

i.) 员工ii.) 部门

在我的 employee 表中,

NAME      Department
---------------------
John IT
Siti Research
Jason Research

在我的部门

Name
------------
IT
Research
Computer

使用语句

SELECT DEPARTMENT.DNAME
FROM DEPARTMENT,
EMPLOYEE
WHERE DEPARTMENT.DNAME = EMPLOYEE.DNAME
AND
(SELECT COUNT(*)
FROM EMPLOYEE.DNAME)=0;

部门没有员工时显示

Name
--------------
Computer

继续尝试,但出现了一些错误

最佳答案

两种选择:

  1. 使用 IN:

    SELECT name FROM Department
    WHERE name NOT IN (SELECT DISTINCT Department
    FROM Employee)
  2. 使用左连接:

    SELECT D.NAME 
    FROM DEPARTMENT D LEFT JOIN EMPLOYEE ON D.NAME = EMPLOYEE.Department
    WHERE EMPLOYEE.Department IS NULL

    Fiddle 中的示例.

    如果您的表中有数千条记录,此方法将显示出比其他方法更高的性能。

关于mysql - SQL 计数与 SELECT 子句中的另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23265582/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com