如何在两个表联接中使用“ where”?

切法达

主表:

(行程)

id | name
1  | USA
2  | Europe
3  | Asia

儿童:

(plane)
id | trip_id | name | other
1  |    1    | aaa  |  w
2  |    1    | bbb  |  e
3  |    3    | ccc  |  rr

(boat)
id | trip_id | name
1  |    2    | jjj
2  |    2    | kkk
3  |    3    | lll

如果我想乘飞机旅行,那么我可以:

SELECT trip.* FROM trip INNER JOIN plane ON plane.trip_id = trip.id

如果我想乘船旅行,那么我可以:

SELECT trip.* FROM trip INNER JOIN boat ON boat.trip_id = trip.id

但是如何在一个查询中查询所有乘坐飞机或船只(或两者)的旅程?

阿米尔·纳赫瓦(Aamir Nakhwa)

您可以像下面这样简单地使用Left Join

select trip.*, isnull(plane.name, '-') as PlaneName, isnull(boat.name, '-') as BoatName from trip left join plane ON plane.trip_id = trip.id left JOIN boat ON boat.trip_id = trip.id

它将返回下表,您可以随意使用这3个表中的任何一个字段...

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MySql-如何使用WHERE子句从两个表中选择MAX ID

使用Where Cluase连接两个mysql表

如何在mysql json表中使用where子句查询

两个表选择“内部联接”,并按“ order by”,“ where”和“ limit”子句

Mysql左联接仅在一个表中使用where子句检查记录

如何在Rails中使用表单添加到两个联接表

如何在Join之后的两个表的Where子句中为Linq创建Lambda表达式?

如何在两个条件下使用WHERE编写查询

如何在DB2中使用DATE子句内部联接两个表

在同一个表上有两个联接的竞争性WHERE

如何在SQL中使用Jon联接两个表?

两个表中带有where子句的内部联接的Postgres索引

如何使用where条件获取表中的两个字段以及如何在其上应用类似条件

如何在SQL命令中使用两个where语句?

如何使用where子句从两个表中全选

连接两个表并使用where子句过滤它们

对不同的表使用两个WHERE语句

sequelize.js查询通过联接表上的where子句联接两个表

在Linq to Sql中使用LINQ中的“ WHERE NOT IN”和DISTINCT从两个表中选择值

使用Laravel和两个WHERE条件查询两个表

我是否需要在联接的两个表上都包括分区键WHERE子句?

如何在Codeigneitor的get_where子句中联接两个表数据

如何在 SQL 查询中使用两个 where 子句

如何在单个 SQL 语句的 where 子句中使用两个 LIKE?

如何在 UNION 查询中的两个表中使用 where 条件?

如何使用两个 WHERE 条件从两个表中进行选择?

使用Where {(...)}后如何在Powershell中执行两个命令

如何在SQL中使用两个where条件?

在 Rails 中使用 Where 和或与两个属性