SQL单表查询

作者:管理员 发布时间:2020-12-25 11:15

单表查询

    SQL命令是一种最常用的数据库操作方法,对于绝大多数的数据库都是通用的,可能会有一点点写法的不同,但一通则百通,学会SQL对一种数据库操作,那么全部关系类数据库就都不再话下了。

    我们从最简单的单表查询开始,输入下面命令后,返回整张表的数据。

SELECT 列名,...,列名 FROM 表名

SQL中,为了提升查询效率,我们只查询需要的列,所以写列名,如果我们不知道列名或需要全部列,则可输入:

SELECT * FROM 表名


查询结果过滤

    单个表的全部数据往往不是我们需要的,我只想查询符合条件的数据,那么就涉及数据过滤指令。

SELECT * FROM 表名 WHERE 列名1='CN' AND 列名2>10 AND 列名3 in (0,2,3)

    通过追加WHERE关键词,可以追加对查询内容的限制;多条件用AND或OR链接。AND取交集(全部条件都符合),OR取并集(只要符合一个条件就可以)。

    条件匹配关系,包含

运算符描述
=等于
<>不等于。注释:部分数据库使用"!="
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式 (模糊查询,关键词模糊部分使用%)
IN指定针对某个列的多个可能值

注意,除=以外,其它匹配规则都会消耗非常多数据库性能;


数据排序

    查询出需要的数据后,我们如果想按指定的顺序排序出来,可以使用ORDER BY语法;

SELECT * FROM 表名 WHERE 列名=1 ORDER BY 列名2,列名3

    默认排序形式是升序,数字从小到大,字母从A到Z,可同时设置多个排序条件,当第一个条件一样时候,使用第二条件排序,以此类推;如果想实现降序排序,增加 DESC,如:

SELECT * FROM 表名 WHERE 列名=1 ORDER BY 列名2 DESC,列名3  ASC

    以上中,先按列名2降序排序,再按列名3升序排序;

注意:在数据量上万条后,排序的列最好为索引列,否则速度慢,非常消耗性能!

标签:
Copyright © 2020 万物律动 旗下 AI算法狮 京ICP备20010037号-1
本站内容来源于网络开放内容的收集整理,并且仅供学习交流使用;
如有侵权,请联系删除相关内容;