![37f669e0aca5c50b7db938dce5a7534e.png](https://i-blog.csdnimg.cn/blog_migrate/fa4c936f5029c6775064bc4b52da5927.jpeg)
一:基本的查询语句
我们默认在下图表中进行操作
![3a8ddc00a95e5eb3c75ad0b4d0bb2c2e.png](https://i-blog.csdnimg.cn/blog_migrate/43c9c84653fc6ec1e16962c08f8be4c5.png)
操作:查询——新建查询
- 查询列
select <列名1>,<列名2>......
from<表名>;
![d2d0c5277192a977d12da12e166ff8e6.png](https://i-blog.csdnimg.cn/blog_migrate/9cd9d47920a447139aa61bcf275bb77b.png)
注:select 列名顺序有序性。
select *: 查询出全部列。
- 为列设定别名 as
select A as 英文,C as ‘中文’
from <表名>;
![97efd105653690e4d94e407295802973.png](https://i-blog.csdnimg.cn/blog_migrate/668e2516232c33a051599db5a8e9c109.png)
- 删除重复数据 distinct
select distinct 参照列1,参照列2
from <表名>;
![51b7bbe4414a598312c7dcb38b1c322f.png](https://i-blog.csdnimg.cn/blog_migrate/f7d5147843fb136ed9bee3d0ca6d10c8.png)
![48cd8cc00843a65fed1865b68dce5f39.png](https://i-blog.csdnimg.cn/blog_migrate/6c83d014c43a066941a36677cfebf6d0.png)
注:列名不加单引号,列名命名不加空格。在SQL中列名不是字符,是有特殊含义的。
二:指定查询条件
select <列名1>,<列名2>
from <表名>
where 查询条件;
![ba8e98834e4b2d4efa0eea6e915d3183.png](https://i-blog.csdnimg.cn/blog_migrate/3d65bebafe3a4ee546b48bcaefec28e2.png)
注:SQL运行顺序与语句的书写顺序不一致
SQL运行顺序:select子句最后运行,其他子句按书写顺序运行。
select +查询结果
from +表名
where+查询条件
三:sql语句其他的注意事项
单行注释--
![7436c42bcf233ba5db50591a4992c6b4.png](https://i-blog.csdnimg.cn/blog_migrate/7c1652ad2b3ad86fb590cd5c95722ac0.png)
多行注释/* */
![f4f3f5ffba2271b354a4205cf117524c.png](https://i-blog.csdnimg.cn/blog_migrate/14182ca9d1a1181b37faae5f0dc95b27.png)
注意英文标点符号
四:运算符
- 算术运算符:加减乘除 + - * /
任何含有空值NULL的运算结果仍然是空值NULL
我们将在下表中进行查询操作
![8666f146d1fc760bb13cf06fcd595341.png](https://i-blog.csdnimg.cn/blog_migrate/28d32efec115c96347ba54d2702213bd.png)
![fac5de1c1bb9edde21cfebafd44c9be6.png](https://i-blog.csdnimg.cn/blog_migrate/83891383c124744371f1e911e0befdea.png)
- 比较运算符
![c261905b0442a46a7a9501d126885e05.png](https://i-blog.csdnimg.cn/blog_migrate/7737f9f19cbdab9fcbce2891e4da6080.png)
![43fc14ea44d4998c64cb5b56573e7ae3.png](https://i-blog.csdnimg.cn/blog_migrate/2850dbc79acbf728610581d5cdfd5757.png)
字符串比较规则:按照字典顺序进行排序‘10’< ‘2’
查询出空值(NULL值)
select <列名1>,<列名2>
from <表名>
where A is null;
![1920b9e6d6235c052dedb93002b6e12a.png](https://i-blog.csdnimg.cn/blog_migrate/69c636af7ab7adfa1a26de8fd101ecf0.png)
- 逻辑运算符
![bebdb37c6d627f6ef0e4c90797081523.png](https://i-blog.csdnimg.cn/blog_migrate/30157a918bc7fa04cb83215114409339.png)
not
![df3edcd963d6336c1912e35a3b132c61.png](https://i-blog.csdnimg.cn/blog_migrate/1720c9df0a7e8219a21d0b9fb998172f.png)
and并且
![8419dd8a8b79985c7f604211cc74e019.png](https://i-blog.csdnimg.cn/blog_migrate/59ecad0e203124a97fa6878f930afbd3.png)
![91d753130d61d6b708cd741c43476340.png](https://i-blog.csdnimg.cn/blog_migrate/e0169ac17e44376025dccc72f345a8c4.png)
between范围查询
查询范围为闭区域
![ef7ad2472282367213de821ef1f300cc.png](https://i-blog.csdnimg.cn/blog_migrate/71e3c3ce3701e2fd8aaf1eb0153628a7.png)
or或者
![4eb989ce3cd3adc7ac00f642b664f142.png](https://i-blog.csdnimg.cn/blog_migrate/6b0b30bc4c9a9d4684b55800a1c79cb5.png)
in 等同于or
in 的否定为 not in
![6d367be89fb0b5da75de11d5141bb5ba.png](https://i-blog.csdnimg.cn/blog_migrate/56156d9bb5ba178fa41037b5c4965962.png)
五:字符串模糊查询
“=”两端的字符串完全相等
like 模糊查询
% 表示任意字符串
![9431d254b3d46db2027eb324485bc29f.png](https://i-blog.csdnimg.cn/blog_migrate/6f180999972c5f6d3d14e1a69df97543.png)
例1
![5b21febc41caefdfbcf211d7424a2523.png](https://i-blog.csdnimg.cn/blog_migrate/737fd5cf0e29428ca61ae9ca44326228.png)
例2
一个下划线代表一个任意字符
![cba51baad72c3e609b881a6db66e59f5.png](https://i-blog.csdnimg.cn/blog_migrate/9d26e552eb97d680b5c124559de5215d.png)
练习:
通过sqlzoo题库进行练习
SELECT from WORLD Tutorial
![221a53d90d88fc816a140fed096a280c.png](https://i-blog.csdnimg.cn/blog_migrate/574f2e15ea66495186c7e65adc45b070.jpeg)
![d392c2681133187205651f24e616ce0c.png](https://i-blog.csdnimg.cn/blog_migrate/d5f4b3f2e995dfb777b7b87d71481369.jpeg)
补充ROUND函数用法
SELECT <列名>,
ROUND(population/1000000,1)保留小数点后一位,(若四舍五入到1000,则ROUND(xxx,-3))
FROM <表名>
LENGTH函数:计算字符长度
LEFT函数:左起第几个字母