MySQL连接查询

本文详细介绍了数据库查询中的三种主要连接查询方式:内连接、多表查询(包括简单多表连接和多表连接查询)以及外连接(左外连接和右外连接)。通过具体的SQL语句示例,展示了如何根据条件从多个表中获取所需信息,如电影的名称、导演、票价和类型等。这些查询技术在数据整合和信息提取中起着关键作用。
摘要由CSDN通过智能技术生成

一.连接查询

1.内连接
语法:

Select   fieldlist from  table1 [inner]join  table2 on table1.column1=table2.column2
[where  condition]

说明:
column1 和 column2 为 table1 表与 table2表的主键和外键
table1和table2进行内连接时,inner可省略
"where condition"可省略,条件表达式

示例:显示战争类电影相关信息,要求输出电影名、导演名和票价

select movieName 电影名 ,director 导演名 ,ticketPrice 票价(元) from movie m
join movie_type mt on m.typeId=mt.id where mt.typeName=' 战争 '

二.多表查询

1.简单多表连接查询是内连接查询的简单表现形式,与内连接查询的功能相同.
语法:

Select  fieldlist  from table1, table2 where table1.column1=table2.column2
[and 其他条件]

示例:显示战争类电影相关信息,要求输出电影名、导演名和票价

select movieName 电影名 ,director 导演名 ,ticketPrice 票价(元) from movie m,
movie_type mt where m.typeId=mt.id and mt.typeName=' 战争 '

2.多表连接查询
语法:

select fieldlist from table1 join table2 on table1.column1 = table2.column2_1 join table3 on table2.column2_2 = table3.column3
[where condition] 

三.外连接查询

1.左外连接(left join) 结果集包括 left join 子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值
示例:
用左外连接方式显示所有电影的相关信息,要求输出电影名、导演名、票价和类型

select movieName 电影名 ,director 导演名 ,ticketPrice 票价(元),typeName 类型
from movie m left join movie_type mt on m.typeId=mt.id

2.右外连接(right join) 右外连接是左外连接的反向连接,它返回右表的所有行。如果右表的某行在左表中没有匹配行,则在相关联的结果集行中,表的所有选择列表列均为空值
示例:采用右外连接方式显示所有电影类型的相关信息,要求输出电影名、导演名、票价和类型

select movieName 电影名 ,director 导演名 ,ticketPrice 票价(元),typeName 类型
from movie m right join movie_type mt on m.typeId=mt.id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值