一. 基础查询语句
1. select 语句使用
select <列名1> ,<列名2> …
列名中间用英语下的逗号分隔 表示查找什么数据,并返回
from <表名>;
表名,表示从哪里查找数据,用英语下的分号表示一条语句的结束。例如下图:
![7a2535a250e092307bc774d22fd71ab4.png](https://i-blog.csdnimg.cn/blog_migrate/c5ca89a3e8e4875d35da0f2985e0088a.jpeg)
结果显示:
![874d9f739704612ad40789431ceb4f1a.png](https://i-blog.csdnimg.cn/blog_migrate/3c7dcf79cdaced7e5d06a55776e3db55.jpeg)
2. 查询结果后为列设定别名
select 原名 as 别名
注意别名为中文名称时,要用单引号,列名命名时中间不要有空格
3. 查询结果删除重复数据及重复行,并返回
Select distinct学号或者distinct学号,姓名
后面跟着两个列名表示当学号,姓名同时重复时,才会删除重复行,
destinct只能放在列名前面,不能放在其他位置。例如下图:
![e7d7ada468652a2006788d8fcf3b7305.png](https://i-blog.csdnimg.cn/blog_migrate/830c8906d56d7d690dac6c1c443ab445.jpeg)
显示结果:
![22fe5cd38be9fabed2f3ed66f85a9755.png](https://i-blog.csdnimg.cn/blog_migrate/22126b4958eb0ff40431acacac830145.jpeg)
二. 指定查询条件 where
Where 姓名=’猴子’ 查询出符合条件的行,例如:
![75ac806d69bb59658fa8f539d4bb0c0f.png](https://i-blog.csdnimg.cn/blog_migrate/621bca701e6f2efbc0a4df34ca38f9ca.jpeg)
结果显示:
![8b3c341e83cc0a6b38cba1d24d44175f.png](https://i-blog.csdnimg.cn/blog_migrate/4adb2f10224ad9293bff76ad46528008.jpeg)
SQL运行顺序:select子句最后运行,其他子句按书写书写顺序运行。
三. 运算符的运用
运算符包含,算术运算符,比较运算符,逻辑运算符
1. 算术运算符(+,-,*,/)
![1364cad70b88b093702ff43074663a06.png](https://i-blog.csdnimg.cn/blog_migrate/b712b0c418420e9bc4d1e6250387e01c.jpeg)
2. 比较运算符(=,<>,<,<=,>=,> )
![fece46ff0016cf4cb51bb7659bc1be0f.png](https://i-blog.csdnimg.cn/blog_migrate/5338ac30026fb607a7641db0c90bfea1.jpeg)
显示结果:
![8bf83644b6b3db820105ae24bc4f555f.png](https://i-blog.csdnimg.cn/blog_migrate/7532c1bf3ce80134cab1a8e57f0fd1e9.jpeg)
比较中,需要注意,比较对象的类型,比如字符串型,很容易出现’10’<’2’的情况
查询确定值所在行,可以用is和not is,如where 教师姓名 is null查找教师姓名中是null的行,not is null 查找不是这个条件的行。
3. 逻辑运算符(not,and,between,or,in) 查询条件进行组合
![07e2cc35d3071aae2ea5cf2a89b7c8fc.png](https://i-blog.csdnimg.cn/blog_migrate/cdd38e0a784569f002245d0661d95062.jpeg)
![65b217cb0f7cc860e0515dc9ae454dd7.png](https://i-blog.csdnimg.cn/blog_migrate/6d497fb0638b211e00553ea8a7dcaa2b.jpeg)
四. 字符串模糊查询
关键字like,%表示任意字符串,_ 1个下划线表示任意1个字符,2个表示2个字符。
![02c9d797b7d8b05eaccded559f96daad.png](https://i-blog.csdnimg.cn/blog_migrate/1984bdc0ec33bbab4800885ef0a1cb27.jpeg)
![04da062f7cd8f3c743c40e82424d8062.png](https://i-blog.csdnimg.cn/blog_migrate/668e51de3a801423df345436423f010a.jpeg)
![9da5f0068268f4d820fdce7b7004d7cc.png](https://i-blog.csdnimg.cn/blog_migrate/fb534648fd374ba420d98dda4d506955.jpeg)
![743fecdfcb66768f5ec30ce6dab202d6.png](https://i-blog.csdnimg.cn/blog_migrate/094a53aab506ae771f71e1d36543f1fe.jpeg)
五. SQLZ00 练习(其中一部分的练习结果)
- 显示面积为20万到25万之间的国家名称和国家面积。
![2dda5cc2f64077f39cd8f2ae43d64cf4.png](https://i-blog.csdnimg.cn/blog_migrate/3fc99fe1d62e7734089bbe883c1b94d3.jpeg)
2. 显示人口大于300万面积,或者人口大于250万的国家名称,人口和面积,排除掉人口有多面积又大的国家。
![7f40658ea8ea0a844cd9429b927ca713.png](https://i-blog.csdnimg.cn/blog_migrate/6cd2f4494c3328bed1d272ee4c590def.jpeg)
![f36e9b9780ae5a8c52ff4007dcaceda0.png](https://i-blog.csdnimg.cn/blog_migrate/56f6fbda58bf1c9eb953d649bc70d558.jpeg)
3.找出所有国家中,其名字包括三个或三个以上的a。
![84768d2b0f722727c58681a1c8d09b0d.png](https://i-blog.csdnimg.cn/blog_migrate/3829aec496e309f84630fda6882d36ef.jpeg)
4. 找出所有国家,其名字都有两个字母o,被另外两个字母隔着。
![2f85a4217a6e85601e82a862094e7621.png](https://i-blog.csdnimg.cn/blog_migrate/2ed49004a34e0891200e60cf45718aeb.jpeg)
以上学习内容来自知乎live的从零学会SQL:简单查询
从零学会SQL:简单查询www.zhihu.com![b080a628784d7e37b0eba4a91b108993.png](https://i-blog.csdnimg.cn/blog_migrate/3aef4a58b219f98e79c157251eca08d3.jpeg)