第五章 简单的数据查询
一、查询的基本结构
1、概念:
2、标准结构
3、查询操作的分类
1、投影操作:
指定查询结果中能显示那些列
1)概念:
2)标准结构:
3)表前缀
4)列别名
5)计算列
6)排除重复数据( Distinct)
标准结构:
结果只有2条数据,重复的数据不显示
7)返回限定行数的查询(Limit)
2、选择操作
指定哪些行出现在结果中
1)单条件选择操作
2)选择操作的条件
3)多条件选择操作
4)执行范围测试(Between)
5)定义集合关系(in 或 not in )
在指定的,偶几个值中进行搜索。
标准结构:
6)模糊查询(Like)
标准结构:
7)处理空值数据
课堂例题:
-- 显示第八到10行
-- SELECT *FROM person LIMIT 7,3;
-- 显示所有性别=男
-- SELECT *FROM person WHERE sex = '男';
-- 查询年龄20~30岁之间的人员信息
-- SELECT *FROM person WHERE age >= 20 AND age <= 30;
-- 查询年龄小于30大于40的人员信息
-- SELECT *FROM person WHERE age < 30 OR age > 40;
-- 查询年龄在18/20/30岁段的学生信息
-- SELECT *FROM person WHERE age IN(18,30,40);
-- 查询姓张的人员信息
-- SELECT * FROM person WHERE name LIKE '张%';
-- 电话号码为空的人员姓名,身份证以及性别
-- SELECTNAME,phone,sex,cardid FROM person WHERE phone IS null;
-- 查询性别为女,qq号码位数小于7位的姓名;
-- SELECTNAME FROM person WHERE sex = '女' AND LENGTH(qq)<7;
-- 查询汉族人员的姓名和电话
-- SELECTNAME,phone FROM person where nation not in ('汉');
-- --SELECT NAME,phone FROM person where nation <> '汉';
3、排序操作
指定查询的结果以什么样的顺序显示
1)概念:
排序操作是指查询的结果投影出来后哪一行或及列的顺序进行排序。如果不指定则以数据库默认顺序排列。
2)标准结构
单列排序举例:
-- 查询人员姓名、年龄、以及工龄,按照年龄从小到大排序
--ASC 表示升序排序,DESC表示降序排序,Oder by 默认升序排序
-- SELECTage,wrok_year from person ORDER BY age DESC;
-- SELECTage,wrok_year from person ORDER BY age ASC;
多列排序:
-- 查询人员姓名、年龄、以及工龄,按照年龄、工龄从大到小排序
-- SELECTage,work_year FROM person ORDER BY age DESC,work_year DESC;