mysql - 选择所有数据包括另一个表,即使为空

标签 mysql sql

设置: (1) Employee表(employeeID、firstName、lastName)

(1) 鞋表(shoeID、Employee_employeeID、shoeName、shoeColor、shoeBrand)

我想选择 Employee 表中的所有行,即使鞋表中没有匹配的 EmployeeID (Employee_EmployeeID) 也会显示整行。所需输出示例:

 EmployeeID  | firstName    | lastName    | shoeName     |   shoeColor  | shoeBrand

 1            John           Smith         AirMax2          Red          Nike
 2            Ronald         Mcdonald      null             null         null
 3            James          Knight        null             null         null
 4            Cindy          Smith         Pump             Brown        Cole Haan

我已经尝试了很多不同的连接,我会得到每个员工的重复行。

最佳答案

试试这个

   SELECT e.employeeId,e.firstName,e.lastName,s.ShoeName,s.ShoeColor,s.ShoeBrand 
   FROM    Employee e
   LEFT JOIN Shoe s
   ON e.employeeID = s.Employee_employeeID

DEMO SQLFIDDLE HERE

关于mysql - 选择所有数据包括另一个表,即使为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14740438/

相关文章:

mysql - MySQL 不支持多重查询

sql - PostgreSQL 如何返回元组 {a,b} 但不返回元组 {b,a}?

SQL NOT IN 可能存在性能问题

sql - 过去 7 天的滚动总和,如何包括缺失日期 - postgresql

python - ImportError : this is MySQLdb version (1, 2, 4, 'beta' , 4), 但_mysql 是版本 (1, 2, 5, 'final' , 1)

MYSQL 帮助不让我创建表

mysql - 关系数据库中的最佳表设置

javascript - Node/MySQL - 尝试插入 ~800 条记录时出现代码 : 'ER_PARSE_ERROR' ,

SQL Server 状态监视器

PHP+MySQL 脚本无法运行