文章目录
- MySQL高级语句
- older by 排序
- 区间判断查询
- 或与且(or 与and)
- 嵌套查询(多条件)
- 查询不重复记录distinct
- count 计数
- 限制结果条目limit
- 别名as
- 常用通配符
 
- 结语
MySQL高级语句
1构建测试用表
create table test1 (id int primary key,name char(30) not null,gpa decimal(3,2),hobbid int(2));
insert into test1 values(1,'baijiahe',3.3,2);
insert into test1 values(2,)'Hu Zexing',2.9,2);
....

older by 排序
1.order by 排序默认升序
select * from test1 order by gpa;

 2.添加desc 选线可以降序排序
select * from test1 order by gpa desc;

 3.order by 还可以使用where来过滤数据
select * from test1 where hobbid=4   order by gpa desc;	

 4.order by 还可以多个数值一起排序
select * from test  order by gpa,hobbid,id desc;
上面表示按绩点(gpa)排名,分数相同的按照hobbid来序排序hobbid相同按照 id降序排序
 
select * from test order by gpa desc,hobbid desc,id desc; 

区间判断查询
查询GPA大于2.7的数据
select * from test1 where gpa>2.7;

或与且(or 与and)
查询GPA>2.7或者id=7的数据
select * from test1 where gpa>2.7 or id=7;

查询GPA>2.7且GPA<=3.2的数据
select * from test1 where gpa>2.7 and gpa<=3.2;

嵌套查询(多条件)
查找gpa>2.4且(id大于4或者hobbid=2)的数据
select * from test1 where gpa>2.4 and(id>4 or hobbid=2);

查询不重复记录distinct
select distinct hobbid from test;
查询test表格中 hobbid项中不重复的数据
 
count 计数
统计一个有多少数据(包括空行),count(主键名)则不包括空行
select count(*) from test1;

统计表中hobbid不同的个数
select count(distinct hobbid) from test1;

限制结果条目limit
注:本文忽略第0行
显示表至第二行
select * from test1 limit 2;

 从第二行开始显示,至第五行
select * from test1 limit 2,5

 查询前五
select * from test1 order by gpa desc limit 1,5;

别名as
使用别名显示
select name 名字, gpa 绩点 from test1;

 创建表别名
create table t1 as select * from test1;

 用别名查询
select name,gpa from t1;

常用通配符
1.% - 通配符,匹配任何数量的字符。
 2._ - 通配符,匹配任何单个字符。
 例如
mysql> SELECT * FROM t1 AS t WHERE t.name LIKE 'w%';

SELECT * FROM test1 WHERE gpa LIKE '3___';
结语
当然,以下是关于MySQL高级查询语句的通用整理,不带具体数据:
- ORDER BY 排序: - 升序排序:ORDER BY column_name
- 降序排序:ORDER BY column_name DESC
- 多条件排序:ORDER BY column1, column2 DESC
 
- 升序排序:
- 区间判断查询: - 查询满足特定条件的数据:WHERE column_name BETWEEN value1 AND value2
 
- 查询满足特定条件的数据:
- 或与且(OR 与 AND): - 组合多个条件进行查询:WHERE column_name = 'value' OR column_name2 = 'value2'
- 组合多个条件进行查询:WHERE column_name = 'value' AND column_name2 = 'value2'
 
- 组合多个条件进行查询:
- 查询不重复记录(DISTINCT): - 去除重复记录:SELECT DISTINCT column_name FROM table_name
 
- 去除重复记录:
- COUNT 计数: - 统计记录数:SELECT COUNT(*) FROM table_name
 
- 统计记录数:
- 限制结果条目(LIMIT): - 限制结果数量:LIMIT offset, limit_number
 
- 限制结果数量:
- 别名(AS): - 为列设置别名:SELECT column_name AS alias_name FROM table_name
- 为表设置别名:SELECT * FROM table_name AS alias_name
 
- 为列设置别名:
- 常用通配符: - %:匹配任何数量的字符。
- _:匹配任何单个字符。
 这些语句是MySQL中常见的高级查询操作,它们可以帮助您有效地管理和查询数据。如果您有其他问题或需要进一步的帮助,请告诉我。