一文讲懂SQL条件子句WHERE

请说下,一文讲懂SQL条件子句WHERE
最新回答
爱生活爱***

2024-10-22 15:15:45

大家好,我是宁一

今天是SQL教程的第五课,让我们一起深入了解WHERE条件子句的用法。

在SQL查询语句中,WHERE子句是筛选条件的关键部分。它用于指定从数据集中选择特定记录的条件。

### 比较运算符

比较运算符是WHERE子句中最常用的元素,包括:>(大于)、<(小于)、=(等于)、>=(大于等于)、<=(小于等于)、!=或<>(不等于)。

**实例**:在`Students`表中,我们可以查找班主任Tid不为2的记录。

比较运算符不仅适用于数值,也可以用于日期或文本的比较。例如,查找1999年后出生的学生。

### 连接运算符

当我们需要处理多个筛选条件时,可以用AND或OR运算符连接这些条件。

**实例**:在`Students`表中,查找1999年后出生且性别为女的学生。或者,查找1999年后出生或性别为女的学生。

在使用AND和OR时,注意AND的优先级高于OR。为了确保清晰性,最好使用括号来明确表达逻辑顺序。

### IN运算符

当我们需要查找符合条件的多个值时,IN运算符非常有用。例如,查找姓名为“宁一、柠七、柠九”三个学生。

IN运算符前还可以加上NOT,用于查找不在指定列表中的记录。

### BETWEEN运算符

BETWEEN运算符用于定义范围条件,例如查找Sid在2到5之间(包括2和5)的学生。

记得,BETWEEN与AND结合使用,表示范围,不能与IN混淆。BETWEEN区间包括两端点。

**实例**:在`Students`表中,找出1999年2月到3月出生的学生。

### LIKE运算符

LIKE运算符用于查找符合特定模式的字符串。例如,查找名为“宁一”的学生。

LIKE运算符可以搭配通配符*(任意字符)、?(单个字符)和%(任意字符序列)使用。

**实例**:在`Students`表中,获取所有名字中包含“宁”的记录。

### REGEXP正则表达式

REGEXP(正则表达式)比LIKE运算符更强大,适用于更复杂的字符串搜索需求。

**实例**:查找姓名为“宁一”、“宁儿”或“柠七”、“柠九”的学生。

### IS NULL运算符

IS NULL用于查找数据集中的空值。例如,查找学生姓名为空的记录。

同样,我们也可以查找非空值的记录。

### 综合练习

在学生表中,结合使用以上知识,找出姓名包含“宁”,学生编号在3-7之间(包含3和7),并且在1997年之前出生的学生记录。

下节课我们将探讨如何使用ORDER BY对结果进行排序。

感谢你们的参与,继续努力学习SQL!