select简单使用
语法
先大致看一下,后面都会讲,distinct用来去重,from 指明表名,where语句则用来控制查询条件,order by则用来对结果进行升序/降序排序,limit则用来分页。
SELECT
[DISTINCT] {* | {column [, column] ...}
[FROM table_name]
[WHERE ...]
[ORDER BY column [ASC | DESC], ...]
LIMIT ...
注意:mysql不区分大小写,我这里是在命令行敲打的,大多数直接就干脆写成一行了,为了方便观察单词,采用小写。具体使用包包按照要求就行。
基本查询
1、全列查询
语法:select * from 表名
2、指定列查询
语法:select 字段1,字段2,字段3... from 表名? (各个字段之间以逗号分隔,注意这里的逗号是英文那个,不是中文)
3、查询结果重命名
语法:select 字段1 新名,字段2 新名,字段3 新名... from 表名??(旧的字段与新名之间用空格隔开)
4、去重查询
语法:select distinct 字段1,字段2.... from 表名 (distinct后面跟几个字段,就表明这几个字段必须相同才会去重)
如果是select distinct * from 表名,则表示表中必须所有字段全部相同,才会去重,只要有一个字段不同,就不会去重。
where条件
我们可以通过where语句,来对查询的条件进行一些限制,比如要查询成绩大于90,小于100的所有人,此时就可以通过where语句,进行条件筛选。
运算符
运算符 | 说明 |
>, >=, <, <=
|
大于,大于等于,小于,小于等于
|
=
|
等于,NULL不参与计算
|
<=>
| 等于,NULL参与计算 |
!= | 不等于 |
between a and b | 范围属于[a,b],也就是a<= value <=b |
in (a,b,c,d......) | 只要结果是括号内的范围中的其中一个,条件就成立 |
is NULL | 用来判断是否为NULL |
is not NULL | 判断是否不为NULL |
like | 模糊匹配,%表示0或多个任意字符, _表示一个任意字符。比如姓孙的:'孙%',? ? ? ? ?孙某:'孙_' |
逻辑运算符
运算符 | 说明 |
and | and两边必须同时满足条件 |
or | a or b ,满足ab其中之一就可以 |
not | 用来取相反结果 |
这里来举个例子来进行讲解,先看这么一个表:
例1
筛选英语不及格的同学,以及对应的英语成绩:
例2
与逻辑运算符配合使用案例
例1(含in(...)的使用)
筛选数学成绩是58,59,98,99其中之一的同学以及其数学成绩
这里我们可以采用or,进行连接:
也可以采用上面的运算符,in(a,b,c,d...)
例2(like模糊匹配的使用)
筛选出孙某同学,以及他的语文、数学成绩
筛选出姓孙的同学,以及对应的总分
例3(where后面也可以进行字段比较)
筛选出语文大于数学成绩的同学,以及对应的语文、数学成绩
例4(and与not)
筛选出语文成绩大于80,并且不姓孙的同学及其成绩
例5(括号表示一整个大的条件)
如果是孙某,直接筛选,其它人则满足:总分大于200,并且语文小于数学,并且英语大于80
order by对结果排序
前面查询出来的结果都是无序的,我们可以通过order语句,对结果进行排序,这里需要注意,NULL值在里面是最小值。
升序
order by xxx asc:根据xxx进行升序排序
例1:
还是上面那张表,根据语文成绩进行升序排序
例2:
针对总分进行升序显示:
降序
order by xxx desc:根据xxx,对结果进行降序
用法与升序相同,只不过讲asc变成desc了。这里sql语句默认如果不指明的话,是默认asc的。
例
例(与where语句配合使用)
查询出姓曹的,以及姓孙的数学成绩,并且按照数学降序排序
limit筛选分页结果
有时候我们只想一个页面显示10条信息,则用到了limit分页,此时再跳到章节开始,可以看到最后的limit。
注意一点,limit起始下标从0开始。
常见有三种用法,如下:我们先来看一张完整的表,以此来实验
limit n
从0开始,筛选n条结果。
limit s,n
从s开始,显示n条结果
limit n offset s
与limit s,n意义相同,只不过相比于limit s,n,更加习惯于用这个罢了。
可以看到与上面结果相同。
例
讲这张表按照id降序,分成3页,每页显示3条记录
至此,一张表被分成了三页,每页3条记录。
基本单表查询结束,可以配合各种场景,利用where、order by、distinct、limit根据需求配合灵活使用——爱你的包包。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!