千家信息网

分页查询,二级条件

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,分页查询:分页查询是MySQL特有的,一般其他数据库是没有的。分页查询可以从表里取一个范围的行,例如0到50行的的数据,30到100行的数据。分页查询的关键字是LIMIT,写在查询语句的最后面。SEL
千家信息网最后更新 2024年11月28日分页查询,二级条件

分页查询:

分页查询是MySQL特有的,一般其他数据库是没有的。分页查询可以从表里取一个范围的行,例如0到50行的的数据,30到100行的数据。

分页查询的关键字是LIMIT,写在查询语句的最后面。

SELECT * FROM student5 LIMIT 第几行,到第几行;

代码示例:

运行结果:



也可以一次性取好几行出来:

因为没有12行所以只取到第7行。


分页查询还可以加条件,只需要把LIMIT写在WHERE后面:

运行结果:



分页查询同时需要排序时,LIMIT需要写在排序关键字后面。

排序分页查询代码示例:

运行结果:



分组排序分页查询代码示例:


运行结果:



二级条件:

二级条件就是在前面的语句运行完后再判断一次,二级条件关键字是HAVING,二级条件需要写在WHERE和分组查询语句的后面。

代码示例:

运行结果:



有WHERE条件的二级条件代码示例:


运行结果:


IN:

In是用来判断多个值的,平时的WHERE只能判断单个值,使用in就能同时判断多个值。

代码示例:

上面这句代码的意思是符合IN括号里面的行都拿出来


运行结果:



NOT IN:

NOT IN就是排除在括号内的值,把除了括号内的值都拿出来。

代码示例:

运行结果:



ALL:

ALL是需要满足括号内的所有内容,但是mysql有些版本并不能使用。

代码示例:

ANY:

ANY则是满足括号内的任意一个的拿出来,和ALL一样有些版本并不能使用。

代码示例:



多表联合查询:

多表联合查询是通过UNION和UNION ALL关键字将两个表联合在一起,起到同时查询两个表的效果。

UNION:是把表里重复的都去掉,不显示重复的行。

代码示例:


运行结果:


UNION ALL:则是不去掉重复的,能显示所以重复的行。

代码示例:


运行结果:



表分区:

表分区就是将一张表分成多个区,以前低版本的mysql不支持表分区的时候只能创建多个表来实现分区的效果,而且多个表操作起来不如一个表分多个区方便。

表分区是mysql 5.1 以上版本才支持的,分表和分区主要是为了提升mysql的性能,在高并发状态下有良好的表现。在百万级千万级数据量的时候表分区的好处就能体现出来了。

Mysql支持四种分区:范围分区,hash分区,列表分区,子分区。

范围分区:

范围分区就是某个范围一个分区,例如0-1000一个分区,1000-2000一个分区,2000,3000一个分区,以此类推,但是主要注意的是要创建最后一个名为maxvalue的分区,这个分区是用来存储剩余的数据的。表分区的关键字是:PARTITION,范围分区的关键字则是:RANGE。

范围分区示意图:


代码示例:


0