基础DQL(数据查询)——条件查询

简介: 基础DQL(数据查询)——条件查询

一、前言


本文将讲解数据查询中的条件查询


二、语法


1.格式


SELECT 字段列表 FROM 表名 WHERE 条件列表


2.举例


这里我们新建一个表


StudentInformation


Name Country Age
张三 上海 19
李四 上海 21
王五 重庆 21
老六 北京 20
老七 南京 21


然后输入T-SQL语句


SELECT * FROM StudentInformation WHERE Age > 20;


该语句的意思是:查询并列举表中年龄大于20的所有列


e465833aca604e5cb210f94bd7c13ce2.png


三、条件


这里列举一些SQL语句中独有的,比较运算符中的大于、小于、大于等于、小于等于、等于以及逻辑运算符中的或与非就不再列举了,与编程语言中一致


比较运算符 功能
<> 或者 != 不等于
BETWEEN …AND… 在某范围内
IN(…) 在in后列表中的值多选一
LIKE 占位符 模糊匹配(_匹配单个字符,%匹配多个字符)
IS NULL 为NULL值


四、空值判读查询


1.格式


查询并返回某字段为空的行


SELECT 字段列表 FROM 表名 WHERE 字段列表 IS NULL;


查询并返回某字段不为空的行


SELECT 字段列表 FROM 表名 WHERE 字段列表 IS  NOT NULL;


2.举例


查询并列举表中年龄为空所有列


SELECT * FROM StudentInformation WHERE Age IS NULL;


查询并列举表中年龄不为空所有列


SELECT * FROM StudentInformation WHERE Age IS NOT NULL;


五、范围查询


1.格式


可以有很多种语句来查询两个值之间的范围

  • 使用逻辑运算符


SELECT 字段列表 FROM 表名 WHERE 字段列表 >= N && 字段列表 <= M


  • 使用连接符and


SELECT 字段列表 FROM 表名 WHERE 字段列表 >= N and 字段列表 <= M;


  • 使用between···and语句( BETWEEN 后写较小值,AND 后写较大值)


SELECT 字段列表 FROM 表名 WHERE 字段列表 BETWEEN N and M;


2.举例


SELECT * FROM StudentInformation WHERE Age > 18 && Age < 21;
SELECT * FROM StudentInformation WHERE Age > 18 and Age < 21;
SELECT * FROM StudentInformation WHERE Age BETWEEN 18 and 21;


3.其它情况(某范围外/多条件满足其一)


  • 某个范围之外的行


SELECT 字段列表 FROM 表名 WHERE 字段列表 NOT BETWEEN N and M;


  • 当查询很多条件满足其中一个的时候(查询年龄为19/23/24/29的客户)可以用IN


SELECT 字段列表 FROM 表名 WHERE 字段列表 IN(条件1,条件2...);


例如:


SELECT * FROM StudentInformation WHERE Age IN(19,23,24,29);


六、模糊查询


1.概述


一般格式为:


SELECT 字段列表 FROM 表名 WHERE 字段列表 LIKE 表达式


2.通配符总览


通配符 含义
% 代表任意多个字符
_ 代表单个任意字符
[] 代表方框内列出的任意字符
[^] 代表没有在方框内列出的任意字符



3.通配符%


一个%代表任意个字符,如果要查询以a开头的单词的话可以用··· LIKE 'a%'


我们还是用一张表格来实际讲解一下


Student


Name Country Age
张三 上海 19
李四 上海 21
王某某 重庆 21
老六 北京 20
老七 南京 21
赵某某 北京 23
老某某 天津 19


SELECT * FROM Student WHERE Name LIKE '老%'


该语句的意思是:查找以老开头的名字,不论名字是几个字的都要列出


72349a4def334e219c6af1e877b67e6a.png


4.通配符_


一个_代表一个字符,如果要查询三个字母组成的单词的话可以用··· LIKE '___'

我们还是用一张表格来实际讲解一下

还是用上面的表格,我们查询一下名字为三个字的


SELECT * FROM Student WHERE Name LIKE '___';


2a18d37dbfe445488d037b3ae98d3e1c.png


5.通配符[]


可以理解为查询所有[]中列出的字段


SELECT * FROM Student WHERE Name LIKE '[老]%';


即列出所有以老字开头的人名字的行


3cd5bd3f5af340758dba580ff36a1077.png


6.通配符[^]


可以理解为查询去掉所有[^]中 ^后列出所有字段的行


SELECT * FROM Student WHERE Name LIKE '[^老]%';


这条语句的意思是去掉所有以老字开头的名字后列出所有字段的行


8a52302423d54641b67ee793b8587fd5.png


七、结语


下一篇文章我们会讲述有关于聚合函数有关内容

相关文章
|
SQL
DQL-基础查询
DQL-基础查询
37 0
|
3月前
|
SQL 存储 开发框架
2、SQL查询-简单查询
2、SQL查询-简单查询
24 0
|
3月前
|
SQL 关系型数据库 MySQL
3、SQL查询-复杂查询
3、SQL查询-复杂查询
59 0
|
5月前
|
SQL 数据库
DQL基本查询操作
DQL基本查询操作
|
5月前
|
SQL 前端开发 数据可视化
数据库开发关键之与DQL查询语句有关的两个案例
数据库开发关键之与DQL查询语句有关的两个案例
25 0
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库——SQL(3)-DQL(基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询、案例练习)
MySQL数据库——SQL(3)-DQL(基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询、案例练习)
57 0
SQL数据查询——单表查询和排序
SQL数据查询——单表查询和排序
139 0
基础DQL(数据查询)——基础查询
基础DQL(数据查询)——基础查询
118 0
基础DQL(数据查询)——基础查询
|
SQL 关系型数据库 MySQL
基础DQL(数据查询)——排序查询和分页查询
基础DQL(数据查询)——排序查询和分页查询
156 0
基础DQL(数据查询)——排序查询和分页查询
|
SQL 数据库
基础DQL(数据查询)——多表关系及多表查询概述
我们要想在数据库的层面上体现这种关系,就要建立第三张中间表,中间表至少包含两个外键,分别关联两方主键
113 0
基础DQL(数据查询)——多表关系及多表查询概述