当前位置: 首页 > 面试题库 >

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

弓明亮
2023-03-14
问题内容

设置:(1)员工表(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

我已经尝试了许多不同的联接,并且我将为每个Employee获得重复的行。


问题答案:

试试这个

   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

在此处演示SQLFIDDLE



 类似资料:
  • 问题内容: 如何使用JOIN从一个表中选择所有列,从另一个表中仅选择一些列?在MySQL中。 问题答案: 只需使用表名: 这将选择所有列和列和从。

  • 假设我有一个spark数据帧,有几列(其中列)和数据帧,有两列:和。 是否有复制以下命令的方法

  • 在过去的几周里,我一直在与AngularJS合作,有一件事确实让我感到困扰,那就是即使在尝试了所有的排列或规范中定义的配置之后http://docs.angularjs.org/api/ng.directive:select,我仍然得到一个空选项作为select元素的第一个子元素。 这是翡翠: 这里的控制器: 最后,这里是生成的HTML: 我需要怎么做才能摆脱它? 注意:没有这个东西也可以工作,但

  • 问题内容: 我需要从表中的鸟(基本上是所有鸟)中选择所有值,然后与另一个跟踪谁喜欢那只鸟的表联接。 因此,我希望查询返回所有鸟类,以及人们喜欢该鸟类的记录的ID。如果没有任何人喜欢这只鸟的记录,那么该字段应该为空。 我当前的查询没有得到空值。这里是: 如何确保Birds表中的每一行都显示一次? 问题答案: 您必须使用而不是 不同的联接 :仅保留两个表中都有数据的行 :保留左侧表格的所有行,并添加右

  • 问题内容: 我正在寻找一个SQL查询来选择所有未由同一表上的另一个查询选择的记录。具体来说,我想选择所有具有特定字段(’fieldA’)重复项的记录,然后删除除其中一个记录以外的所有记录。 因此,一条select语句可能类似于以下内容(不起作用!): 如果不可能进行单个查询,那么最有效的解决方案是什么? 问题答案: 具体来说,我想选择所有具有特定字段(’fieldA’)重复项的记录,然后删除除其中

  • 问题内容: table1 (id, name) table2 (id, name) 询问: 问题答案: SELECT t1.name FROM table1 t1 LEFT JOIN table2 t2 ON t2.name = t1.name WHERE t2.name IS NULL 问 :这是怎么回事? 答 :从概念上讲,我们从中选择所有行,并为每一行尝试在其中找到具有相同值的行。如果没有这