查询语句基本格式:SELECT 列名/* FROM 表名 (WHERE 列运算符值)
示例数据表
1.查询所有
查询全部学生
select * from student;
2.部分查询(查询一个或多个字段值)
查询所有姓名和年龄
select Sname,Sage from student;
<!--查询多个列,每列字段加逗号-->
3.单条件查询
关键字where 表示条件,在where之后跟过滤的条件
下面的运算符可在WHERE 子句中使用:
- 比较运算符包括: = ,>,<,>=,<=,<>
- 逻辑运算符:NOT,AND,OR
- 确定范围运算符:BETWEEN AND, NOT BETWEEN AND
select * from student where Sage<18;
区间范围查询
select * from Student where Sage between 18 and 20;
集合方式查询
select * from Student where Sage in ('18','20');
4.多条件查询
and 关键字表示和(并且),需要两边条件同时满足
select* from Student where Ssex='男' and Sage>'18'
or 表示或 两边条件只要满足一个就可以
select * from 表名 where Ssex='女' or Sclass='大一'
5.分组查询(分组函数)
select Ssex,count(*) from student group by Ssex;
group by 关键字表示分组,按照一个字段的值进行分组,相同的值组成一组
注意:分组函数一般与聚合函数一起使用
6.分组后筛选查询
select Ssex,count(*) as aa from student group by Ssex having aa>=1;
Having 关键键表示条件,为分组函数的专用条件关键字跟在分组后面类似where条件
7.结果排序
select * from Student order by Sage
order by 关键字表示排序,默认为正序排列(asc),倒序(desc)
8.子条件查询
将一个查询结果当做条件来用,此种情况成为子条件查询
select * from Student where Sage=(select max(Sage) from Student);
9.分页查询
使用关键字limit, 关键字之后如果为一个数字,则表示当前分页显示多少条数据。在关键字之后跟两个数字a,b,表示从a开始取b条数据。
从0开始取2条数据
select * from Student order by Sage limit 0,2
10.模糊查询
模糊查询LIKE 或NOT LIKE
select * from 表名 where y_name like '%a%';
like 关键字表示模糊,后面跟'单引号' %模糊的内容%
- '%a%’表示只要该字段含有a字
- ‘a%’表示要模糊的字必须处于该字段的首位
- ‘%a’表示要模糊的字必须处于该字段末位