SQL基础笔记(4)- SELECT 查询基础

基础查询

下图为表ums_admin表的数据例子
在这里插入图片描述

1. SELECT基础查询

-- 查询用户名和邮箱
SELECT username,email FROM ums_admin;
-- 查询表中所有数据,在生产环境中不建议这样使用
SELECT * FROM ums_admin
-- 查询时定义别名
SELECT username AS user,password AS pwd,email FROM ums_admin;

在这里插入图片描述

2. DISTINCT的使用

  1. DISTINCT 需要放到所有列名的前面,如果写成SELECT username, DISTINCT password FROM ums_admin会报错。
  2. DISTINCT 其实是对后面所有列名的组合进行去重,所以SELECT DISTINCT username, iconSELECT DISTINCT icon,返回的结果是不一样
-- 去除重复行
SELECT DISTINCT username, icon FROM ums_admin;

3. ORDER BY排序

  1. 排序的列名:ORDER BY 后面可以有一个或多个列名,如果是多个列名进行排序,会按照后面第一个列先进行排序,当第一列的值相同的时候,再按照第二列进行排序,以此类推。
  2. 排序的顺序:ORDER BY 后面可以注明排序规则,ASC 代表递增排序,DESC 代表递减排序。如果没有注明排序规则,默认情况下是按照 ASC 递增排序。我们很容易理解 ORDER BY 对数值类型字段的排序规则,但如果排序字段类型为文本数据,就需要参考数据库的设置方式了,这样才能判断 A 是在 B 之前,还是在 B 之后。比如使用 MySQL 在创建字段的时候设置为 BINARY 属性,就代表区分大小写。
  3. 非选择列排序:ORDER BY 可以使用非选择列进行排序,所以即使在 SELECT 后面没有这个列名,你同样可以放到 ORDER BY 后面进行排序。
  4. ORDER BY 的位置:ORDER BY 通常位于 SELECT 语句的最后一条子句,否则会报错。
SELECT DISTINCT username, email FROM ums_admin ORDER BY username DESC ,email ASC;

4. LIMIT约束返回结果数量

  • MYSQL, 使用LIMIT 3
  • SQL Server 和 Access, 使用TOP 3
  • DB2,使用FETCH FIRST 3 ROWS ONLY
  • Oracle,使用ROWNUM <=3
SELECT DISTINCT username, email FROM ums_admin ORDER BY username DESC ,email ASC LIMIT 2;

5. SELECT执行顺序

关键字的顺序
SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ...
语句的执行顺序
FROM > WHERE > GROUP BY > HAVING > SELECT 的字段 > DISTINCT > ORDER BY > LIMIT

在这里插入图片描述

6. where数据过滤

比较运算符

在这里插入图片描述

逻辑运算符

在这里插入图片描述

通配符
  • % 代表0个或多个字符
  • _ 代表一个字符

在实际操作过程中,建议你尽量少用通配符,
因为它需要消耗数据库更长的时间来进行匹配。即使你对 LIKE 检索的字段进行了索引,索引的价值也可能会失效。
如果要让索引生效,那么 LIKE 后面就不能以(%)开头,否则会对全表进行扫描

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值