数据库中五个表要关联起来怎么写sql语句?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中五个表要关联起来怎么写sql语句?相关的知识,希望对你有一定的参考价值。
电影表 名称编号主演导演电影编号
电影票表 电影编号 票号 厅号 价格时间
厅表 厅号
顾客表 顾客编号 姓名电话住址
订单表 订单编号 电影编号 顾客编号 价格 购买日期
select *
from 电影表, 电影票表, 厅表, 顾客表, 订单表
where 电影票表.厅号 = 厅表.厅号
and 电影票表.电影编号 = 电影表.电影编号
and 电影票表.电影编号 = 订单表.电影编号
and 订单表.顾客编号 = 顾客表.顾客编号 参考技术A 他们的写法有错误,应该有一个作为主表,只有分块做两次关联,不然会得不到你想要的结果
SELECT A.*,B.订单编号,B.顾客编号,B.价格,B.购买日期,B.姓名电话住址
FROM (SELECT A.*,B.票号 厅号 价格时间 FROM 电影表 A,电影票表 B,厅表 C
WHERE B.电影编号=A.电影编号
AND B.厅号=C.厅号)A,
(SELECT B.*,A. 姓名电话住址 FROM 顾客表 A,订单表 B
WHERE A.顾客编号=B.顾客编号) B
WHERE A.电影编号=B.电影编号 参考技术B 。。。不建议各位手把手教他, 这个问题只能代表其基础知识匮乏, 应该好好看看书, 交给他反而害了他 参考技术C 关联不用写语句,直接建立一个数据库关系图,在里面拉关系就可以了 参考技术D 建立数据库关系图,或者建立外码,如果要实现查询就直接用select语句,只要有联系任何两个表的连接属性相同就可以。
sql 语句查询判断是不是为空并关联
如图,第二列和第三列都放的是关联ID,一个有,另一个就为空,我现在要查这张产品表,查出ID,上传者,上传者就是 customer_id 和 manager_id 中存在的,并关联另外两张表,SQL语句应该怎么写。求大神指点。
用Case 语句可以将两列合有一列,然后用结果作为一个表去关联其它表就可以Select * from
(Select Case when customer_id is null then manager_id else customer_id end as customer_id from table) as a
left join b on a.customer_id=b.customer_id ...........追问
customer_id 关联 customer表,manager_id关联 manager表。。。还是有点不能明白,可以再详细点吗,麻烦了。
追答你两个字段关联不同的表,那你就不能这样做了,你可以单独查出两个结果再用union把查询结果连到一起,,不过要注意表结果是否一样,不一样就要控制输出字段
select * from table_a as a left join customer as b on a.customer_id=b.customer_id where a.customer_id is not null
union
select * from table_a as a left join manager as b on a.manager_id=b.manager_id where a.manager_id is not null
谢谢,可以了
参考技术A 在楼上的基础上是不是还可以再简单一些select *
from table_a as a
left join customer b
on a.customer_id = b.customer_id
left join manager c
on a.manager_id = c.manager_id
where a.customer_id is not null
or a.manager_id is not null
以上是关于数据库中五个表要关联起来怎么写sql语句?的主要内容,如果未能解决你的问题,请参考以下文章