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

Posted yuwenS.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL基础语法之子链接查询和特殊查询(union 和 limit)相关的知识,希望对你有一定的参考价值。

子查询和特殊查询(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 

以上是关于MySQL基础语法之子链接查询和特殊查询(union 和 limit)的主要内容,如果未能解决你的问题,请参考以下文章

SQL 基础之子查询

MySQL 之子查询

MySql数据库之子查询和高级应用

mysql多表查询之子语句查询

MySQL数据处理(数据的查询之子查询复查询)

MYSQL学习笔记之子查询