Sql 在条件不存在的列中显示null';不满足
我有两张桌子 培训员工 培训部门 从这两个表中,我需要所有列,除了培训部门员工的部门ID和培训部门的部门名称之外 我正在这样做Sql 在条件不存在的列中显示null';不满足,sql,Sql,我有两张桌子 培训员工 培训部门 从这两个表中,我需要所有列,除了培训部门员工的部门ID和培训部门的部门名称之外 我正在这样做 SELECT TE.EMPLOYEE_ID,TE.FIRST_NAME,TE.LAST_NAME,TO_CHAR(HIRE_DATE ,'DD- MON-YYYY')HIRE_DATE,TD.DEPARTMENT_NAME FROM training_employee TE, training_department TD WHERE TE.DEPARTMENT_I
SELECT TE.EMPLOYEE_ID,TE.FIRST_NAME,TE.LAST_NAME,TO_CHAR(HIRE_DATE ,'DD-
MON-YYYY')HIRE_DATE,TD.DEPARTMENT_NAME FROM training_employee TE,
training_department TD WHERE TE.DEPARTMENT_ID=TD.DEPARTMENT_ID;
我得到了这个
但是我确实希望所有4行培训员工和部门名称上的空值,如果
“培训员工.部门ID培训部门.部门ID”您想要一个
左加入。而且,这很难,因为您使用的是过时的连接语法,而实际上并不支持它。下面是一条简单的规则:在from
子句中不要使用逗号。始终使用显式join
语法:
SELECT TE.EMPLOYEE_ID, TE.FIRST_NAME, TE.LAST_NAME,
TO_CHAR(HIRE_DATE, 'DD-MON-YYYY') as HIRE_DATE, TD.DEPARTMENT_NAME
FROM training_employee TE LEFT JOIN
training_department TD
ON TE.DEPARTMENT_ID = TD.DEPARTMENT_ID;
您在这里使用的是特定于产品的SQL(to_char)。请指定数据库管理系统!