字段的别名 AS
通过as给字段起一个别名
select card as 身份证,name as 姓名,sex as 性别;
别名的as可以进行省略
select card 身份证,name 姓名,sex 性别;
表的别名 AS
通过表名as 别名 给表起一个别名 as也可以省略
student表别名为s
select * from student as s;
student表别名为s (省略as)
student * from student s;
去重 distinct
通过select distinct 字段名,字段名 from 表名 来过滤select查询结果中的重复记录
查询学生表性别并进行去重
select distinct sex from student;
条件查询
where后面跟一个条件,实现有选择的查询
select * from 表名 where 条件
查询students表中学号stundentNo 等于001的记录
select * from studnets where studnetNo = '001';
查询students表中年龄age等于30的姓名和班级
select name,class from student where age = 30;
查询的基本规律
█ select 后面的*或者是字段名,控制了控制了返回什么样的字段(列);
█ select 中 where子句,控制l了返回什么样的记录(行)
█ where后面职称多种运算符,进行条件的处理
查询的种类
比较运算
逻辑运算
模糊查询
范围查询
空判断
比较运算符
等于 =
大于 >
大于等于 >=
小于 <
小于等于 <=
不等于 !=或<>
查询student表中30岁及30岁以下的学生记录
select * form students age > 30;
查询hometown不在北京的学生记录
select * from students where hometown != '北京';
select * from students where hometown <> '北京';
查询class班级为1班以外的学生记录
select * from students where class != '1班';
查询age年龄大于25的学生姓名和性别
select name,sex from studnets where age >25 and;
逻辑运算符
and(与)
and有两个条件
格式:条件1 and 条件2
两个条件必须同时满足
查询年龄小于30,并且性别为女的记录
select * from students where age > 30 and sex = '女';
or(或)
or有两个条件
格式:条件1 and 条件2
两个条件满足一个即可
查询性别为女或者班级为1班的学生记录
select * from studnets where sex='女' or class = '1班';
not(非)
not只有一个条件
not 条件
如果条件为满足,not后变为不满足。如果条件满足,not后变为满足
查询hometown老家非'天津'的学生记录
select * from studnet where not hometown = ‘天津’;
select * from students where hometown != '天津';
查询hometown老家是河南或河北的学生记录
select * from studnets hometown = '河南' or '河北';
查询班级为1班,并且家是北京的学生记录
select * from students class = '1班' and hometown = '北京'
查询年龄非30的岁的学生记录
select * from students not age = 30;
select *from students age ! = 30;
模糊查询
like实现模拟查询,%代表任意多个字符,_代表任意一个字符
字段名like'字符%'
指定字符开始,后面任意多个字符
字段名_'字符_'
指定字符开始,后面任意一个字符
查询姓名中已孙开头的学生记录
select * from students where name like '孙%';
查询姓名以孙开头,且名字只有一个字的学生记录
select * from students where name like '孙_';
查询姓白且年龄大于30的学生记录
select * from studnets where name lile '白%' and age > 30;
范围查询
in(值,值,值)
非连续范围查找
between 值 and 值
连续范围查找
查询假象是北京或上海或广东的学生记录
select * from students where hometown = '北京' or hometown = '上海' or hometown = '广东'
select * from students where hometown in ('北京','上海','广东');
查询年龄为25至30的学生记录
select * from student where age >=25 and age <= 30;
select * from students where age between 25 and 30;
select * from students age in (20,25,30) and sex ='女';
select * from students not age between 25 and 30;
空判断
null 与' '是不同的
null 代表什么都没有,是不占用存储空间的 null不能用比较运算符去判断
is null 判断是否为null
is not null 判断是否不为null
' ' 代表长度为0的字符串,是占用存储空间的
判断空值 is null
查询身份证为null的学生记录
select * from students where card is null;
判断非空值 is not null
查询身份证非null的学生记录
select * from students where card is not null;
查询身份证为空的学生记录
select * from students where card is null or card ='';
查询身份证不为空的学生记录
select * from students where card is not null and card != '';
把年龄为25,并且姓名为孙尚香的学生,修改班级为2班
update students class = '2班' where age = 25 and name = '孙尚香';
删除班级为1班,且年龄大于30的学生记录
delect from students where age > 30 and calss ='1班';