一、简介
查询所有字段
select * from 表名;
例:
select * from students;
2、查询指定字段
在select后面的列名部分,可以使用as为列起别名,这个别名出现在结果集中
select 列1,列2,... from 表名;
例:
select id,name,gender from students;
3、消除重复行
在select后面列前使用distinct可以消除重复的行
select distinct 列1,... from 表名;
例:
select distinct gender from students;
二、条件
1、使用where子句对表中的数据筛选,结果为true的行会出现在结果集中
语法如下:
select * from 表名 where 条件;
例:
select * from students where id=1;
2、where后面支持多种运算符,进行条件的处理
2.1、比较运算符
2.2、逻辑运算符
2.3、模糊查询
2.4、范围查询
2.5、空判断
2.6、比较运算符
2.7、等于=
2.8、大于>
2.9、大于等于>=
2.10、小于<
2.11、小于等于<=
2.12、不等于!=或<>
例1:查询编号大于3的学生
select * from students where id>3;
例2:查询编号不大于4的科目
select * from subjects where id<=4;
例3:查询姓名不是“黄蓉”的学生
select * from students where name!='黄蓉';
例4:查询没被删除的学生
select * from students where isdelete=0;
3、逻辑运算符
and or not
例5:查询编号大于3的女同学
select * from students where id>3 and gender=0;
例6:查询编号小于4或没被删除的学生
select * from students where id<4 or isdelete=0;
4、模糊查询
like
%表示任意多个任意字符
_表示一个任意字符
例7:查询姓黄的学生
select * from students where name like '黄%';
例8:查询姓黄并且名字是一个字的学生
select * from students where name like '黄_';
例9:查询姓黄或叫靖的学生
select * from students where name like '黄%' or name like '%靖';
5、范围查询
in表示在一个非连续的范围内
例10:查询编号是1或3或8的学生
select * from students where id in(1,3,8);
between ... and ...表示在一个连续的范围内
例11:查询编号为3至8的学生
select * from students where id between 3 and 8;
例12:查询学生是3至8的男生
select * from students where id between 3 and 8 and gender=1;
6、空判断
注意:null与''是不同的
判空is null
例13:查询没有填写地址的学生
select * from students where hometown is null;
7、判非空is not null
例14:查询填写了地址的学生
select * from students where hometown is not null;
例15:查询填写了地址的女生
select * from students where hometown is not null and gender=0;
8、优先级
优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符
and比or先运算,如果同时出现并希望先算or,需要结合()使用
网友评论