前言
查询语句属于DML(Data Manipulation Language)数据操作语言的其中一种,用于从数据库中提取所需的数据。通过灵活的条件和组合,查询语句帮助用户有效地获取、过滤和排序数据,满足各种信息需求。
文章目录
- 前言
- 1️⃣基本的SELECT语句
- 1.1 选择全部列
- 1.2 选择特定的列
- 1.3 列的别名
- 1.4 字符串
- 1.5 显示表结构
- 2️⃣过滤和排序数据
- 2.1 过滤
- 2.2 比较运算
- 2.3 其他比较运算
- 2.4 逻辑运算
- 2.5 排序
- 总结
1️⃣基本的SELECT语句
SELECT *|{[DISTINCT] column|expression [alias],...} FROM table;
- SELECT 标识选择哪些列
- FROM 标识从哪个表中选择
1.1 选择全部列
select * from city;
1.2 选择特定的列
select District,CountryCode from city;
注意:
- SQL 语言大小写不敏感
- SQL 可以写在一行或者多行
- 关键字不能被缩写也不能分行
- 各子句一般要分行写
- 使用缩进提高语句的可读性
1.3 列的别名
- 重命名一个列
- 便于计算
- 紧跟列名,也可以在列名和别名之间加入关键字:‘AS’,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写
select address_name as address,address_code as code from dic_district;
select address_name as "Address",address_code as "Code" from dic_district;
1.4 字符串
- 字符串可以是 SELECT 列表中的一个字符,数字,日
期。 - 日期和字符只能在单引号中出现
- 每当返回一行时,字符串被输出一次
1.5 显示表结构
- 使用 DESCRIBE 命令,表示表结构
DESC[RIBE] tablename
2️⃣过滤和排序数据
2.1 过滤
- 使用WHERE 子句,将不满足条件的行过滤掉
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table
[WHERE condition(s)];
- WHERE 子句紧随 FROM 子句
select * from city
where countrycode='AFG';
2.2 比较运算
操作符 | 含义 |
---|---|
= | 等于 (不是 ==) |
> | 大于 |
>= | 大于、等于 |
< | 小于 |
<= | 小于、等于 |
<> | 不等于 (也可以是 !=) |
select * from city
where Population > 2000000;
2.3 其他比较运算
操作符 | 含义 |
---|---|
BETWEEN…AND… | 在两个值之间 (包含边界) |
IN(set) | 等于值列表中的一个 |
LIKE | 模糊查询 |
IS NULL | 空值 |
- BETWEEN
使用 BETWEEN 运算来显示在一个区间内的值
select * from city
where Population BETWEEN 2100000 AND 2200000;
- IN
使用 IN运算显示列表中的值
select * from city
where countrycode IN ('AFG','BIH','BOL');
- LIKE
- 使用 LIKE 运算选择类似的值
- 选择条件可以包含字符或数字:
a、% 代表零个或多个字符(任意个字符)
b、_ 代表一个字符
select * from city
where name like 'Saint%';
- NULL
使用 IS (NOT) NULL 判断空值
select * from country
where GNPOld is null;
2.4 逻辑运算
操作符 | 含义 |
---|---|
AND | 逻辑并 |
OR | 逻辑或 |
NOT | 逻辑否 |
- AND
select * from city
where name like 'Saint%'
and Population BETWEEN 100000 AND 130000;
- OR
select * from city
where name like 'Saint%'
OR Population BETWEEN 100000 AND 130000;
- NOT
select * from city
where CountryCode not in ('AFG','BIH','BOL');
2.5 排序
使用 ORDER BY 子句排序:
- ASC(ascend): 升序
- DESC(descend): 降序
ORDER BY 子句在SELECT语句的结尾。
- 按别名排序
select name,CountryCode,Population num
from city
ORDER BY num DESC;
- 多个列排序
select name,CountryCode,Population
from city
ORDER BY CountryCode,Population DESC;
总结
会了以上方式,就可以对数据进行一些基本的查询了,而在实际开发当中,所有复杂的场景都是基于基本查询之上来完成的,所以基础很重要,正所谓基础不牢,地动山摇,加油小伙伴们~