MySQL 语句显示值,即使是 NULL

标签 mysql sql

我有两个表,EMPLOYEEDEPENDENT。员工 PKSSN,从属表的外键是 ESSN。我正在尝试检索所有员工的姓名及其家属的姓名。如果员工没有家属,我只需在家属列中显示空白值即可。

要检索有家属的员工姓名,我使用以下语句:

SELECT 
      firstName AS "First Name", 
      lastName AS "Last Name",
      dependent_name AS "Dependent Name" 
FROM employee,dependent 
WHERE ssn=essn;

如果有人能引导我走向正确的方向,我将不胜感激。

最佳答案

使用左连接从第一个表中获取所有行,即使第二个表中没有匹配的行:

SELECT 
  firstName AS "First Name", 
  lastName AS "Last Name", 
  dependent_name AS "Dependent Name" 
FROM employee
LEFT JOIN dependent ON dependent.essn = employee.ssn;

我也将您的隐式旧式连接更改为符合 ANSI 的显式连接。

关于MySQL 语句显示值,即使是 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29177234/

相关文章:

SQL合并2个表

Mysql 查询缓存无法与 mysql RDS 读复制一起使用

sql - Entity Framework v6.1 高效加载深层相关实体,然后对其进行查询

Java - 转义字符串以防止 SQL 注入(inject)

mysql - 如何使用Sql触发器列出表中的所有列

mysql - 将汇总行添加到表格末尾

mysql - 从列数

SQL Server 2012 列表中的随机字符串

mysql - 在 alter table 中使用 change, modify, column 时 mysql 是如何工作的?

mysql - 使用存储过程从表中获取数据