单表查询

1、使用SELECT语句查询所有字段和指点的字段
2、按条件查询,并使用运算符及不同的关键字进行查询
3、高级查询,使用聚合函数查询,分组查询等
4、对表和字段起别名

一、简单查询
1、SELECT语句
SELECT 字段顺序显示 FROM 表名
2、查询所有字段
(1)在SELECT语句中指定所有字段
(2)在SELECT语句中使用()号通配符代替所有字段
SELECT * FROM 表名
3、查询指定字段
SELECT 部分字段 FROM 表名 指定部分字段查询
二、按条件查询
1、带关系运算符的查询(>,<,<>,!=,<=,>=,=)
SELECT 字段1,字段2,…
FROM 表名
WHERE 条件表达式
关系运算符
2、带IN关键字查询
IN关键字用于判断某字段的值是否在指定集合中,若字段值在集合中,则满足条件,该字段所在的记录将被查询出来
SELECT * | 字段1,字段2,…
FROM 表名
WHERE 字段名 【NOT】IN (元素1,元素2,元素3,。。。。)
元素1,元素2,元素3,。。。。表示集合中的元素,即指定的条件范围。
将字段属于集合内的条件选择出来
3、带BETWEEN AND关键字的查询
SELECT * | {字段1,字段2,…}
FROM 表名
WHERE 字段名 【NOT】BETWEEN 值1 AND 值2
在2~5之间
4、空值查询
在数据表中,某些列的值可能是空值(NULL),空值不同于0,也不是空字符。使用IS NULL判断字段的值是否为空值,
SELECT * | 字段1,字段2,…
FROM 表名
WHERE 字段名 IS 【NOT】NULL
IS NULL判断字段值为空
5、带DISTINCT关键字的查询
很多表中某些字段的数据存在重复的值,例如,student字段gender,使用SELECT语句查询gender字段,
在这里插入图片描述
处于对数据的分析,需要过滤掉查询记录重复的值,在SELECT语句可以使用DISTINCT关键字来实现这种功能
SELECT DISTINCT 字段名 FROM 表名
字段名表示要过滤重复记录的字段
DISTINCT
使用DISTINCT作用于多个字段,此时,只有多个字段的值同时相同才被认为是不同的
SELECT DISTINCT 字段名1,字段名2,。。。
FROM 表名 gender和name同时相同,才将其过滤掉
6、带LIKE关键字的查询
由于对字符串需要进行模糊查询,例如查询student表中的name字段中以字符’b’开头的记录,使用LIKE关键字,可以判断两个字符创是否匹配,使用LIKE关键字的SELECT语句如下:
SELECT * | {字段1,字段2,…}
FROM 表名
WHERE 字段名 【NOT】LIKE ‘匹配字符串’
其中匹配字符串包含(%和_)
(1)%通配符
匹配任意长度的字符串,包括空字符串。例如字符串“c%”匹配的以字符c开始,任意长度的字符串。“ct”,“chidsfo”.
LIKE  s%以s字符开始
LIKE l%i以l开头,i结尾的字符串
查询name字段中包含字符“y”的学生id。%y%无论y在什么位置
包含字符y
不包含字符y
(2)下划线()通配符
下划线值匹配单个字符,如要匹配多个字符,需要多个下划线通配符。例“cu
“匹配字符以字符串“cu”开头的三个字符串如“cut”,“cup”.若使用多个下划线匹配多个连续的字符,下划线之间不能有空格,“M_ _QL”,只能匹配“MY SQL”,不能匹配“MYSQL”
LIKE 'wu_ong'
转义出中间为%,前后无论什么
7、带AND关键字的多条件查询
SELECT * | {字段1,字段2,…}
FROM 表名
WHERE 条件表达式1 AND 条件表达式2[…AND条件表达式N]
AND
多个条件AND
8、带OR关键字的多条件查询
SELECT * | {字段1,字段2,…}
FROM 表名
WHERE 条件表达式1 OR 条件表达式2[… OR条件表达式N]
OR
OR多条件
AND和OR同时约束
三、高级查询
1、聚合函数
实际中对数据进行统计,例如某个字段的最大值、最小值和平均值。聚合函数包括:
COUNT()返回某一列的行数,
SELECT COUNT(
) FROM 表名,统计记录的条数
SUM()返回某列值的和
SELECT SUM(字段名) FROM 表名, 某个字段所有值的总和
SUM
AVG()返回某列的平均值
SELECT AVG(字段名) FROM 表名, 某个字段所有值的平均值
AVG
MAX()返回某列的最大值
SELECT MAX(字段名) FROM 表名, 某个字段所有值的最大值
MAX
MIN()返回某列的最小值
SELECT MIN(字段名) FROM 表名, 某个字段所有值的最小值

2、对查询结果排序
使用ORDER BY 对查询结果进行排序
SELECT 字段名1,字段名2,。。。。
FROM 表名
ORDER BY 字段名1【ASC|DESC】, 字段名2【ASC|DESC】,。。。
上述字段名1,字段名2 是对查询结果排序的依据。默认情况是升序ASC
ORDER BY
降序排列
两个字段,gender按照升序,grade按照降序排
当按照指定字段进行升序排列时,如果某条记录的字段值为NULL,则这条记录会在第一条显示,因为NULL值可以被认为是最小值。
gender在前,按照其先排序

3、分组查询
对表中的数据进行统计,按照类别进行,例如,对student表中的gender字段值为“男”,“女”和“NULL”的学生成绩(grade)之和,使用GROUP BY按照某个字段或者多个字段的值进行分组,字段中的值相同为一组
SELECT 字段名1,字段名2,…
FROM 表名
GROUP BY 字段名1,字段名2,…【HAVING 条件表达式】
(1)单独使用GROUP BY分组
查询的是每个分组中的一条记录
GROUP BY
(2)GROUP BY和聚合函数一起使用
GROUP BY和聚合函数一起使用,可以统计某一个或者某些字段在一个分组中的最大值,最小值和平均值,
在这里插入图片描述
计算出每个分组各有多少名学生。
(3) GROUP BY和HAVING关键字一起使用
HAVING关键字和WHERE关键字的作用相同,都用于设置条件表达式对查询结果进行过滤。区别是HAVING关键字后面可以跟聚合函数,而WHERE关键字不能。 GROUP BY和HAVING关键字一起使用,用于对分组后的结果进行过滤。
在这里插入图片描述
HAVING过滤取大小小于400的分组
4、使用LIMIT限制查询结果的数量
查询结果可能返回多条记录,用户需要的记录可能只是其中的一条或者几条。比如实现分页功能,每页显示10条信息。使用关键字LIMIT可以指定查询结果从那一条记录开始以及一共查询多少条信息。
SELECT 字段名1,字段名2,。。。
FROM 表名
LIMIT [OFFSET,]记录数
上述LIMIT后面两个参数,第一个表示偏移量,为0表示查询结果从第一个记录开始。记录数: 返回查询的记录条数。
LIMIT
查询表中grade字段从第5—第8位的学生。
利用偏移量OFFSET,选取第5~8学生
对5~8学生的成绩降序排序
验证
在这里插入图片描述
5、函数(列表)
在这里插入图片描述

四、为表和字段取别名
1、为表取别名
SELECT * FROM 表名 【AS】别名
在这里插入图片描述
2、为字段取别名
SELECT 字段名1【AS】别名1[, 字段名2【AS】别名2…] FROM 表名

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值