在sql的增删改查中。查询用的最多。所以对查询做多一点的记录
最基本格式:
select 字段名1,字段名2,... from 表名
![c4b737ba2a58a5a226e96399a1285396.png](https://i-blog.csdnimg.cn/blog_migrate/fd96907c64e89c1e889d014661408466.png)
如果查询的想显示所有的字段
select * from 表名
![4e0943f65d0c4c3954bf0599ccdf4c57.png](https://i-blog.csdnimg.cn/blog_migrate/63aa2c3fd6a9a5391c4bec94aca3111f.jpeg)
查询后如果想改变列名,可以用as 别名
![330912dc8f82fa65c619eea787593806.png](https://i-blog.csdnimg.cn/blog_migrate/a987990e1e73b6b0a35bae600ef2ee8d.jpeg)
sql中数据如果有重复,想去重查询
![93a3ad61f80a284c1b54bfe0fcf5c1dc.png](https://i-blog.csdnimg.cn/blog_migrate/de3a8d384dea833dd9f6320adc458c3b.jpeg)
显示的是该字段中去重之后的数据,
如果 select distinct 名字,性别 from student;这样的话查询后的结果是名字和性别均不相同的结果,类似设置复合主键的结果,俩个字段都相同才会被去重
sql的书写规则,有必要梳理一下
1,sql语句是英文;结尾
2,sql语句中关键字是不区分大小写的,比如select SELECT 是一样的
3,列名不能加引号,select '名字' from student是不对的
4,所有的符号均只能用英文
指定查询(增加查询条件)
数据那么多,我如果想要符合某一规则的数据,则必须增加限制条件查询,
![fd17bb9ac0a6c24100385a9e21cbfc4e.png](https://i-blog.csdnimg.cn/blog_migrate/e5ea2f5becc89e7c8a73c5e5094fbf24.jpeg)
注意:字段是没有引号的,后面的条件有
![7d0b1ea07205b7a304069f2fe8a72af2.png](https://i-blog.csdnimg.cn/blog_migrate/03874484d6abb9ae99081501fcbaf61a.jpeg)
理解查询的顺序,先找到表,然后找到符合规则的数据,然后显示想要的结果
sql中运算符(算术运算符,比较运算符,逻辑运算符)
算术( + - * / ),除法为例
![7dbc91f73dfa90b085f476241f8091ac.png](https://i-blog.csdnimg.cn/blog_migrate/6ea33a6f4a29e10d9a855cb471a86af2.jpeg)
计较运算符( > < = >= <=)
![ae9ca122f0bab9f1eab4b766fde2eb7a.png](https://i-blog.csdnimg.cn/blog_migrate/4725b5a1b163654c19b56060fa656253.jpeg)
null的查询,不能用等于,用is null , is not null
![b0dbb77e8b4b87674b83364b2c29b4a6.png](https://i-blog.csdnimg.cn/blog_migrate/82a6f9ddb53142f7afd03a30a02676c6.jpeg)
逻辑运算符(and or not between in )
![4c1f19dfe0a376db42e1ac31de349cd5.png](https://i-blog.csdnimg.cn/blog_migrate/f01b9bb85dcd2985f7219b96b6b5303f.jpeg)
对成绩大于等于80的条件进行否定,得到的结果是,成绩小雨80的
and 取交,or取并集,
![7906637ad74ec92438e7d294865ebb50.png](https://i-blog.csdnimg.cn/blog_migrate/a0f0fa80ed77a4819d91c9058b7b56e3.jpeg)
查询成绩既大于等于60又小于90的结果
between and
![75f31b44d1663860226253c66535418a.png](https://i-blog.csdnimg.cn/blog_migrate/ea70cd1f0041d8d53750895f52d755fa.jpeg)
in的用法
![7bc6aa039f452095881fcba5b006d8ee.png](https://i-blog.csdnimg.cn/blog_migrate/5a9c50633f2913acbf45bf292d378d40.jpeg)
模糊查询 like
![723db21ee2a22d22c097cc9639d53d0a.png](https://i-blog.csdnimg.cn/blog_migrate/4e95725a3c2b118f7b65c8324a678af1.jpeg)
![7fb1b00e25b01b424bc9f4749f66f5c0.png](https://i-blog.csdnimg.cn/blog_migrate/ecd2f135eec7351fa261306f064061e1.jpeg)
其中_ 表示一个任意字符