MySQL基础语法之子链接查询和特殊查询(union 和 limit)

本文详细介绍了MySQL中的子查询技巧,包括where和from子查询实战,以及union用于合并查询和limit实现分页的功能。通过实例演示如何利用这些特性找出高于张三身高的学生信息,以及合并查询多个同学信息。
摘要由CSDN通过智能技术生成

子查询和特殊查询(union和limit)

总结了MySQL中的子查询和特殊查询的语法

子查询

子查询分为 where语句中的子查询from语句中的子查询select语句中的子查询

因为select语句中的子查询不怎么使用,所以下面只对应where语句中的子查询和from语句中的子查询进行测试

  • where语句中的子查询

where 语句中的子查询就是指将一个 sql 查询语句查出来的数据作为一个条件值放在 where 中进行条件判断

基本语法

select 字段,字段,字段,...
from 表名
where 字段 = (sql查询语句);  //括号里的sql查询语句就是子查询语句

测试

查询班级里身高比张三高的同学的姓名和身高

select name,height
from student
where height > (select height from student where name = '张三');
  • from语句中的子查询

from语句中的子查询是指将一个查询语句查询出来的语句作为一张表来进行其它的查询

基本语法

select 字段,字段,字段,...
from (sql查询语句)  //括号里的sql查询语句就是子查询语句 能作为主表也能作为要连接的表
where 条件 

测试

因为没有具体的样例,所有这里就简单的查询多个数据做为另一张表,然后查询数据

将身高和年龄都大于张三的同学的姓名,身高,年龄查询出来
select s.name,s.height,s.age
from student s
join (select height,age from student where name = '张三')  ns
on s.height > ns.height and s.age > ns.age  

union查询

union查询指的是:将两个查询合并起来查询,而不是通过连接,这样查询比两张表连接查询效率要高。但是要注意的是这两个查询要查询的数目得相同,可以一张表合并也可以多张表合并

基本语法

select 字段,字段
fromwhere 条件
union
select 字段,字段  //注意,在合并查询的时候,两次查询的字段数要相等
fromwhere 条件;

测试

查询名字为张三和名字为李四两个同学的所以信息

select * 
from student
where name = '张三'
union
select * 
from student
where name = '李四'
  • limit查询

limit 查询指的是:可以规定在哪一条数据开始查查多少条,常用来做分页查询

基本语法

select 字段,字段
fromwhere 条件
limit 数字a 数字b  //数字啊代表从哪个数据开始读,数字b代表读几个数据

测试

将班级表中的第3到6个人的所有信息查询出来

select *
from student
limit 2 4 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值