一、查询语句
查询语句句式为:
select 列名1,列名2,列名3...
from 表名;
练习:查询学生表
![c4840c11b3cbe61ae6c8a1f0b54d1c20.png](https://i-blog.csdnimg.cn/blog_migrate/d71e89f29a031132a5c4ff70eeaa9765.jpeg)
distinct 表示查询非重复项,如果放在两个或两个以上列名前面,就要讲这些列看做一条数据,只有当这些列的所有数据都相同时才算做重复数据;
![943b672902114a95019bdbb2ff6529c7.png](https://i-blog.csdnimg.cn/blog_migrate/4087c7d5dee6d1e48d8f4bcbf0411117.png)
as可以实现列名的重命名:
![a94d5cc6dfaaef58383e7e1d41871cad.png](https://i-blog.csdnimg.cn/blog_migrate/b71611b6d052d87a417657681241e75b.png)
二、指定查询条件
用where来指定查询条件,句式为
select 列名1,列名2,.... ③
from 表名 ①
where 查询条件;②
在此句式中,运行顺序为上面所标注的顺序
练习:查询姓名为猴子的学生学号
![a675c18fce8a77581c62c70163e2b161.png](https://i-blog.csdnimg.cn/blog_migrate/7522c0a8aba97c5e49965aec296cf58b.png)
三、注释
注释分为单行注释和多行注释,单行主式以-- 开头,注意横线后需要加空格;
多行注释以/*.....*/开头和结尾
四、运算符
1.数字运算符和比较运算符
练习:查询学生成绩并计算百分比
![dd179423699066ff35d6418f385f8dba.png](https://i-blog.csdnimg.cn/blog_migrate/99d771e06213e540527fe4e9ba477f84.png)
练习:查询早于1990年1月1日出生的学生姓名
![134076860f0dc6856df9a222d8d6a925.png](https://i-blog.csdnimg.cn/blog_migrate/a7dad14a48593670e0b680776e0c8a37.jpeg)
2.逻辑运算符
练习:查询成绩大于60并且小于等于90的学生学号,姓名
注意:逻辑运算符and将查询两侧条件同时成立时的结果
![51506a5759bcc78ba4c5b1d30f56be49.png](https://i-blog.csdnimg.cn/blog_migrate/3650533f20c144814171cb421e45e7ec.png)
练习:查询成绩小于60或大于90的学生学号,姓名
注意:逻辑运算符or将查询两侧任一条件成立时的结果
![08e173e5b1489ec31042a666e6036bef.png](https://i-blog.csdnimg.cn/blog_migrate/e0d056eb97452e36fe2f07d03ab80e66.png)
练习:用between查询成绩在60到90分范围的学生学号
注意:between查询结果会包含范围数值的边界值
![d91df0832128dffd6375f1732fb3b10b.png](https://i-blog.csdnimg.cn/blog_migrate/a310b8695e4af9939f376d989977982f.png)
练习:查询性别是男且姓名是猴子或者马云的学生学号
注意:优先执行的查询条件要加括号
![3562270faa2eb4b0765965038e8ad478.png](https://i-blog.csdnimg.cn/blog_migrate/fa6923e4720de2a4f3dde21231f6f5ea.png)
练习:姓名不是猴子或者马云的学生姓名,学号
注意:in是or的简单写法,括号中是或的关系,不是范围;
![07851e8dfee5a464ca52d057c2ed795a.png](https://i-blog.csdnimg.cn/blog_migrate/0fd449dfa4b8b1d016851f0e3a801838.png)
五、模糊查询
模糊查询条件用like实现,主要句式有两种
1.%实现模糊查询
%放在特定字符后面表示查询第一个字符为特定字符的字符串;
![204c1f3822fc2ee401eca68b2e3238d3.png](https://i-blog.csdnimg.cn/blog_migrate/b2475d7e1c6e724869046419c9e31700.png)
%放在特定字符前面表示查询最后一个字符为特定字符的字符串;
![71e37a57952d4078987ce2483213448d.png](https://i-blog.csdnimg.cn/blog_migrate/5ef317f0dacdd28c07eff798e17e452b.png)
特定字符放在两个%中间表示查询含有特定字符的字符串;
![2f87c75191ea1676a38607fcbb1b6446.png](https://i-blog.csdnimg.cn/blog_migrate/c2a8981d4c946a68d0ca5149baade73f.png)
2.'特定字符__'即下划线实现模糊查询,即含有特定字符并且字符长度固定的字符串
![0355cfdf7573e757b6555c970e0a4a1f.png](https://i-blog.csdnimg.cn/blog_migrate/9c980f61110720e1dab6732a1efd1961.png)
SQLZOO练习
Part 1. select from basic
查询德国的人口:
![730b73affc7f84e2b3d323fb73f2df17.png](https://i-blog.csdnimg.cn/blog_migrate/0c983c019040503b1764eaf71b44fa6d.jpeg)
查询面积500万平方公里的国家名称和人口
![5a0ea92665b69a7de3bdcfc5c431d179.png](https://i-blog.csdnimg.cn/blog_migrate/508a9d0f0dd2b85c2e7a82b9fe63f25e.jpeg)
查询爱尔兰,冰岛,丹麦三国的国家名称和人口
![a9ced3c6773e3156ae8d0c3fc9110f38.png](https://i-blog.csdnimg.cn/blog_migrate/a41535bc4b32d7b21bb225fff01a5149.jpeg)
Part 2. select from world
查询表中国家的名称,大洲和人口
![dbb083a10a088530f4c0a610a720eeff.png](https://i-blog.csdnimg.cn/blog_migrate/890230c13388f0229e41d030da9be5c7.jpeg)
查询面积大于500万平方公里的国家名称及人均生产总值
![361a2624d56fe5cf04c82077dea91149.png](https://i-blog.csdnimg.cn/blog_migrate/933ee379c63ad62ea246f215c06149f4.jpeg)
查询人口2亿以上的国家名称及人均生产总值
![bc9059782a6af3dc13cb238fd2ada75f.png](https://i-blog.csdnimg.cn/blog_migrate/92229249f99796e4b3a4a6ef78fd4187.jpeg)
查询南美洲国家名称和人口,人口以百万为单位表示
![d0ee32d30f093a86d26a8d838db389c5.png](https://i-blog.csdnimg.cn/blog_migrate/9d5c0cb2429202078d1f1a2b94187aa1.jpeg)
查询法国,德国,意大利的人口
![e71cb74cb1bfbb23fc268f260cc1502f.png](https://i-blog.csdnimg.cn/blog_migrate/f81b9c97490a77679aafac92746b6248.jpeg)
查询国家名称中有'United'这个单词的 国家
![0ee525eaaf5cd911681065d31376d122.png](https://i-blog.csdnimg.cn/blog_migrate/c6ec0c43eb00da3c48a1a9ffc7624fa8.jpeg)
查询人口大于2.5亿且面积大于300万平方公里的国家
![0b2f73c59ad952971aac24e77dc001e4.png](https://i-blog.csdnimg.cn/blog_migrate/065cccb42cfdf5a05626e9e4c921e613.jpeg)
查询满足人口大于2.5亿或面积大于300万平方公里其中之一但不同时满足的国家名称,人口和面积
![b2fce63cd7cb5dd71009f698aad10132.png](https://i-blog.csdnimg.cn/blog_migrate/2d3d9027c1304a8bf2cbc0c89432f985.jpeg)
Part 3. select from name
查找以字母Y开头的国家名称
![a1e7bd63ac3f86d31fd5b50512d2409e.png](https://i-blog.csdnimg.cn/blog_migrate/5f69727beefdfc6ad37530d40ae51f87.jpeg)
查找以字母Y结尾的国家名称
![ee398b82e6645b4ad29b8e19cba7b7d3.png](https://i-blog.csdnimg.cn/blog_migrate/26024365d0be80be58f9c5d01b75c7b5.jpeg)
查找名称中有字母X的国家名称
![89bb26225916b0d1e61fd8436e1ce62e.png](https://i-blog.csdnimg.cn/blog_migrate/10a98dfa06a1fc2658838565b49fe2f2.jpeg)
查找以字符串land结尾的国家名称
![2bfde379037a856a94705b9bbbf3a2da.png](https://i-blog.csdnimg.cn/blog_migrate/8008039ce78ef59e25febf579548866e.jpeg)
查找以字母C开头并以字母ia结尾的国家名称
![99a8aaa715377a457c413c523a87e55a.png](https://i-blog.csdnimg.cn/blog_migrate/7f33e2c1ca270538b62b9eca91c7240d.jpeg)
查找名称中有两个O的国家名称
![b64b06dd03135cec85b0a7c0103c3e86.png](https://i-blog.csdnimg.cn/blog_migrate/2d39fbd6f44d610c4903891ced26ec14.jpeg)
查找名称中有三个或者个以上a的国家名称
![4cb5f498938964b30104d24e4546c20b.png](https://i-blog.csdnimg.cn/blog_migrate/8e6e1157de3be48c4c585a4547ae56c6.jpeg)
查找以字母t作为第二个字母的国家
注意:_和%可以 连用
![2aafe947c543b07f926a05aba65b62b3.png](https://i-blog.csdnimg.cn/blog_migrate/4ca2c4815edc879493246953133dfd97.jpeg)
查找有两个O且被另外两个字母隔开的国家名称
![f657c36bbd57d8957c69df328d79bb48.png](https://i-blog.csdnimg.cn/blog_migrate/61f77baed9142fdb55cd4983f89718e2.jpeg)
查找由4个字母组成的国家名称
![0337522150c470b244464339bdddf9d3.png](https://i-blog.csdnimg.cn/blog_migrate/a660008453856bad4db7c9388b20a22c.jpeg)
查询国家名称和首都名称一致的国家
![4dfe55d44d11c0a6f0fe86912e337d38.png](https://i-blog.csdnimg.cn/blog_migrate/4a99cd615fd4725123307e32f8938a17.jpeg)