一.基本查询语句
基本语句:
select 列名,列名,... from student;
加上AS:
select 列名 as ABC,列名 as '其他名' from student; ——中文的别名需要用英文引号
删除重复数据distinct:
select distinct 姓名 from student; 单列的情况
select distinct 学号,姓名 from student; 多列的情况会将多列组合在一起后,如果重复再去重
基本书写规则:
- 英文分号(;)结尾
- 不区分关键字的大小写
- 列名不能加单引号,列名命名时不能有空格(姓名√ 姓 名×)
- 符号只能使用英文符号
练习:
![1496ca4bba9b4f9aac82a847a7228fb3.png](https://i-blog.csdnimg.cn/blog_migrate/4f570eee1ef3769021363c6275359fb4.png)
二.指定查询条件
where子句的运用
select 姓名,学号 from student where 姓名=‘猴子’
SQL运行顺序
![494e627f75ff9f3a094fcd634f7baa84.png](https://i-blog.csdnimg.cn/blog_migrate/9a3ba43f73fa0292a90210c4b48f1447.jpeg)
1.先from 2.再where 3.最后select
三.注释和sql语句注意事项
![4b0282afc80eb5889e5aa073a1f50c72.png](https://i-blog.csdnimg.cn/blog_migrate/401bf8befaef7e9e43660ef19b7774c7.jpeg)
![0f9db0c7762e88f64421e2f06da540f3.png](https://i-blog.csdnimg.cn/blog_migrate/c48814cf42943ab7319f185ca6f720ef.jpeg)
练习
![1f5e774ec2a8c1e1d4c3e4c11258af75.png](https://i-blog.csdnimg.cn/blog_migrate/46f5c501762a8095af3deb3aaddcd600.png)
四.运算符
包括:算数运算符、比较运算符、逻辑运算符
算数运算符:
+-*/ 括号中先计算;包含Null的运算结果都是Null;
![d2f114c7cd900cf70e18cb21dd0be8fc.png](https://i-blog.csdnimg.cn/blog_migrate/5f3aa637af2916c39a963b5e2a23449a.png)
比较运算符:
![23ee534c6537d4dad7364153ed05d2e6.png](https://i-blog.csdnimg.cn/blog_migrate/811a64d1d83649e1b2fae0c7f4bfa641.jpeg)
![591db9bd6e75efcae216415d6af2cb87.png](https://i-blog.csdnimg.cn/blog_migrate/ea673a43390b7b62c848ecfd454ab226.jpeg)
比较运算符运用于所有的数据类型
如何比较日期
![94bdd109752907505ff7f6ff1f1a810f.png](https://i-blog.csdnimg.cn/blog_migrate/ac26c34748303700f961ac4501a0c4b4.png)
字符串比较规则
'10'<'2' 因为这个数据时字符串类型,10的开头时1,比2小,所以'10'<'2'
所以如果排序遇到10在2前面,就要去检查数据的类型是否是字符串类型,而不是数值类型
如何查询空值
![4efa32fc421b84cbc255df654858ce04.png](https://i-blog.csdnimg.cn/blog_migrate/f4b68cff5db7a71665c72bed3781bfb4.jpeg)
![b838c8f6564af560a3df95cf011291c1.png](https://i-blog.csdnimg.cn/blog_migrate/0b1390597dfa89e819ccd65de2f223fb.png)
![b8595d8a6f208651ed24eb9604cadfa3.png](https://i-blog.csdnimg.cn/blog_migrate/593ee1c49ae25c69789efeca3017b1f7.png)
逻辑运算符:
not 否定某一个条件
and 并且
between 范围查询
or 或者
in or的简单写法
AND运用:
![71103fb5da921a01b25ab511a0ec21e9.png](https://i-blog.csdnimg.cn/blog_migrate/21a8e9577caf75e0645e12953f95f3d8.png)
OR运用
![e78a5ec98af881ca0b684106d531e886.png](https://i-blog.csdnimg.cn/blog_migrate/cebc7668cf2972574984e44d69432319.png)
between运用
范围查询60=<成绩<=90
![095cdc15ad07d7fbad8e08940d732c04.png](https://i-blog.csdnimg.cn/blog_migrate/f3b31191a20a4df40c693317014a4c18.png)
between 会查找包括边界两侧的数据,就是60和90也包括需要注意
OR运用
找到成绩小于60或者成绩大于90的学生
![37b9a13d9e2b9ebf13b36e655651945c.png](https://i-blog.csdnimg.cn/blog_migrate/7612cb101a494e4f3cf4f2496ca7d70e.png)
IN运用
IN是OR的简便写法
找到姓名是猴子或者马云的学生
![622a9ead415bd6eaf9c621633b5046fc.png](https://i-blog.csdnimg.cn/blog_migrate/6f5cfc432c72f19b380990408c4fa325.png)
NOT IN运用
![8aba9fcc349ab2e9f217457d31dd0cea.png](https://i-blog.csdnimg.cn/blog_migrate/d969c5efed5c7a10dc5624488ae9b5eb.png)
字符串模糊查询 like
![7d73b337faf276f36b6180d7329f828f.png](https://i-blog.csdnimg.cn/blog_migrate/607e8c014f0385fcfb165aa734874010.jpeg)
%代表任意字符串
![d09356f8b93ce54805efe92695035ce3.png](https://i-blog.csdnimg.cn/blog_migrate/c8df1a449b0522339417a95b80501100.png)
![609902c5a409fbfda5882c2e366655ca.png](https://i-blog.csdnimg.cn/blog_migrate/dce72740ccc15680da9e029e72e6a2c3.png)
![25b276295e925f25fc1f5e425c6d3e71.png](https://i-blog.csdnimg.cn/blog_migrate/7b0ee0e7c89a55f67c53a5442dad9b2f.png)
_代表一个字符串
![5bf4667e3d9060067b7b91d0578a5166.png](https://i-blog.csdnimg.cn/blog_migrate/f331bd963e04b88f38190323361c79d5.png)
课后练习:
从SQLZOO网站练习sql语句