mysql 连接查询的基本语法

本文详细介绍了SQL中的各种连接查询方式,包括内连接、左外连接、右外连接等,并解释了如何通过添加复合条件来精确控制查询结果。此外,还讨论了子查询及合并查询的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



1、内连接使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行,组成新的记录。(在内连接查询中,只有满足条件的记录才能出现在结果关系中)

select  表名1.字段名1,表名1.字段名2,……,表名2.字段名1,表名2.字段名2,……  from  表名1,表名2    where   表名1.字段名?=表名2.字段名?;(字段名?代表两张表之间共同有的字段名)

select 表名1.字段名,表名2.字段名2 from 表名1 inner join 表名2 on 表名1.字段?=表名2.字段?(字段?代表两张表之间相同的字段名)


2、左外连接的结果包括left outer字句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配的行,右表的所有选择列均为空值。

select 表1.字段名,表2.字段名 from 表1 left outer join 表2 on 表1.字段名?=表2.字段名?;


3、右外连接是左连接的反向连接,将返回右表的所有行。如果右表的某行在左表中没有匹配行,左表将返回空值。

select 表1.字段名,表2.字段名 from 表1 right outer join 表2 on 表1.字段名?=表2.字段名?;


4、复合条件连接查询是在连接查询的过程中,通过添加过滤条件,限制查询结果,使查询的结果更加准确。

就是在连接查询的后面加了条件或者限制条件。比如:语法:select 表1.字段名,表2.字段名 from 表1 right outer join 表2 on 表1.字段名?=表2.字段名?order by desc;又或者select 表名1.字段名,表名2.字段名2 from 表名1 inner join 表名2 on 表名1.字段?=表名2.字段? and 字段=条件值;


5、 带exists的子查询

select  *  from  表名  where  exists  (子查询语句);(子查询只要查询出的记录>=1条,则执行外部查询,而子查询则不看了)


6、 带in关键字的子查询

select  *  from  表名  where  字段名  in  (子查询语句); (相同数值匹配——>显示相同数值)


7、带any、some关键字的子查询

select  字段名1  from  表名1  where  字段名1>any  (select  字段名2  from  表名2);


8、 合并查询结果(查询两个表指定字段合并起来的数据)

(合并时两个表对应的列数和数据类型必须相同)select  字段名……  from   表名1  union  all(可选)  select  字段名……  from   表2;(加了all显示重复的数据,不加则不显示重复数据)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值