Mysql 编写查询以打印每行中的员工姓名和UIN。如果不存在UIN,则在其位置打印NULL。输出的顺序无关紧要
有两个表Mysql 编写查询以打印每行中的员工姓名和UIN。如果不存在UIN,则在其位置打印NULL。输出的顺序无关紧要,mysql,Mysql,有两个表EMPLOYEE和EMPLOYEE\u PAN。我们必须从EMPLOYEES表中打印员工NAME,并从employeep\u PAN表中打印UINID在两个表中都用作主键。如果EMPLOYEE\u PAN表中不存在UIN,则我们必须打印NULL,而不是UINUIN是一个整数 我试过这个代码。当语句部分出现错误时,我面临一个错误。在查询中使用JOIN时,我遇到了case语句的问题。请告诉我如何将CASE语句与JOIN一起使用 SELECT UIN, NAME FROM EMPLOYEE_
EMPLOYEE
和EMPLOYEE\u PAN
。我们必须从EMPLOYEES
表中打印员工NAME
,并从employeep\u PAN
表中打印UINID
在两个表中都用作主键。如果EMPLOYEE\u PAN
表中不存在UIN
,则我们必须打印NULL
,而不是UIN
UIN
是一个整数
我试过这个代码。当语句部分出现错误时,我面临一个错误。在查询中使用JOIN
时,我遇到了case语句的问题。请告诉我如何将CASE
语句与JOIN
一起使用
SELECT UIN, NAME
FROM EMPLOYEE_PAN JOIN EMPLOYEES
ON EMPLOYEES.ID = EMPLOYEE_PAN.ID
CASE WHEN EMPLOYEE_PAN.UIN != 0 THEN EMPLOYEE_PAN.UIN END ;
你需要左键加入
SELECT EMPLOYEE_PAN.UIN, EMPLOYEES.NAME
FROM EMPLOYEES
LEFT JOIN EMPLOYEE_PAN ON EMPLOYEES.ID = EMPLOYEE_PAN.ID
left join为不匹配的键返回空值在SELECT子句中使用case语句
SELECT
CASE WHEN EMPLOYEE_PAN.UIN != 0 THEN EMPLOYEE_PAN.UIN ELSE "NULL" END AS UIN, NAME
FROM
EMPLOYEE_PAN JOIN EMPLOYEES
ON EMPLOYEES.ID = EMPLOYEE_PAN.ID;
注:我认为表中没有UIN表示UIN值为0(从您的查询)使用左连接并删除事例声明,输出顺序应该是重要的!