SQL | WHERE 子句
WHERE 关键字用于获取结果集中的过滤数据。
- 它用于根据特定标准获取数据。
- WHERE 关键字也可以通过匹配模式来过滤数据。
基本语法: 选择 column1、column2 FROM 表 _name WHERE 列 _name 运算符值;
column1 , column2: fields int the table
table_name: name of table
column_name: name of field used for filtering the data
operator: operation to be considered for filtering
value: exact value or pattern to get related data in result
可与 where 子句一起使用的运算符列表:
操作员 | 描述 |
---|---|
> | 大于 |
>= | 大于或等于 |
< | 不到 |
<= | 小于或等于 |
= | 等于 |
<> | 不等于 |
在...之间 | 在包括范围内 |
喜欢 | 搜索模式 |
在…里 | 为一列指定多个可能的值 |
查询
-
To fetch record of students with age equal to 20
```sql SELECT * FROM Student WHERE Age=20;
```
输出:
滚动 _ 否 名称 地址 PHONE 年龄 three SUJIT 罗塔克 XXXXXXXXXX Twenty three SUJIT 罗塔克 XXXXXXXXXX Twenty -
To fetch Name and Address of students with ROLL_NO greater than 3
```sql SELECT ROLL_NO,NAME,ADDRESS FROM Student WHERE ROLL_NO > 3;
```
输出:
滚动 _ 否 名称 地址 four SURESH 德里
在运算符之间
它用于获取给定范围(包括两个值)内的过滤数据。 基本语法: 选择列 1、列 2 FROM 表 _name WHERE 列 _name 介于值 1 和值 2 之间;
BETWEEN: operator name
值 1 和值 2: 从值 1 到值 2 的精确值,以获得 结果集中的相关数据。
查询
-
To fetch records of students where ROLL_NO is between 1 and 3 (inclusive)
```sql SELECT * FROM Student WHERE ROLL_NO BETWEEN 1 AND 3;
```
输出:
滚动 _ 否 名称 地址 PHONE 年龄 one 随机存取存储器(random access memory 的缩写)ˌ随机访问内存(random-access memory 的缩写) 德里 XXXXXXXXXX Eighteen Two RAMESH 古尔冈 XXXXXXXXXX Eighteen three SUJIT 罗塔克 XXXXXXXXXX Twenty three SUJIT 罗塔克 XXXXXXXXXX Twenty Two RAMESH 古尔冈 XXXXXXXXXX Eighteen -
To fetch NAME,ADDRESS of students where Age is between 20 and 30 (inclusive)
```sql SELECT NAME,ADDRESS FROM Student WHERE Age BETWEEN 20 AND 30;
```
输出:
名称 地址 SUJIT 罗塔克 SUJIT 罗塔克
像操作员一样
它用于通过在 where 子句中搜索特定模式来获取过滤后的数据。 基本语法: SELECT column1、column 2 FROM table _ name WHERE column _ name LIKE 模式;
LIKE: operator name
模式:从模式中提取精确值,得到 结果集中的相关数据。
注意:模式中的字符区分大小写。
查询
-
To fetch records of students where NAME starts with letter S.
sql SELECT * FROM Student WHERE NAME LIKE 'S%';
“%”(通配符)表示后面的字符,可以是任何长度和 值。关于通配符的更多信息将在后面的文章中讨论。
输出:
滚动 _ 否 名称 地址 PHONE 年龄 three SUJIT 罗塔克 XXXXXXXXXX Twenty four SURESH 德里 XXXXXXXXXX Eighteen three SUJIT 罗塔克 XXXXXXXXXX Twenty -
To fetch records of students where NAME contains the patter ‘AM’.
```sql SELECT * FROM Student WHERE NAME LIKE '%AM%';
```
输出:
滚动 _ 否 名称 地址 PHONE 年龄 one 随机存取存储器(random access memory 的缩写)ˌ随机访问内存(random-access memory 的缩写) 德里 XXXXXXXXXX Eighteen Two RAMESH 古尔冈 XXXXXXXXXX Eighteen Two RAMESH 古尔冈 XXXXXXXXXX Eighteen
输入操作符
它用于获取过滤后的数据,与由“=”运算符获取的数据相同,不同的是,在这里我们可以指定多个值来获取结果集。 基本语法: SELECT column1,column 2 FROM table _ name WHERE column _ name IN(值 1,值 2,..);
IN: operator name
值 1,值 2,..:与给定值匹配的精确值,并在结果集中获取相关数据。
查询
-
To fetch NAME and ADDRESS of students where Age is 18 or 20.
```sql SELECT NAME,ADDRESS FROM Student WHERE Age IN (18,20);
```
输出:
名称 地址 随机存取存储器(random access memory 的缩写)ˌ随机访问内存(random-access memory 的缩写) 德里 RAMESH 古尔冈 SUJIT 罗塔克 SURESH 德里 SUJIT 罗塔克 RAMESH 古尔冈 -
To fetch records of students where ROLL_NO is 1 or 4.
```sql SELECT * FROM Student WHERE ROLL_NO IN (1,4);
```
输出:
滚动 _ 否 名称 地址 PHONE 年龄 one 随机存取存储器(random access memory 的缩写)ˌ随机访问内存(random-access memory 的缩写) 德里 XXXXXXXXXX Eighteen four SURESH 德里 XXXXXXXXXX Eighteen
本文由 哈什·阿加瓦尔 供稿。如果你喜欢 GeeksforGeeks 并想投稿,你也可以使用contribute.geeksforgeeks.org写一篇文章或者把你的文章邮寄到 contribute@geeksforgeeks.org。看到你的文章出现在极客博客主页上,帮助其他极客。
如果你发现任何不正确的地方,或者你想分享更多关于上面讨论的话题的信息,请写评论。
版权属于:月萌API www.moonapi.com,转载请注明出处