SQL | WHERE子句

其中关键字用于抓取 过滤数据 在结果集中。

null
  • 它用于根据特定条件获取数据。
  • WHERE关键字还可以用于通过匹配模式过滤数据。

基本语法: 从表_name中选择column1、column2,其中column_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子句一起使用的运算符列表:

操作人员 描述
> 大于
>= 大于或等于
< 少于
<= 小于或等于
= 相当于
<> 不等于
之间 在包容范围内
喜欢 搜索模式
在里面 为一列指定多个可能的值

table1

询问

    • 获取年龄等于20岁的学生的记录
      SELECT * FROM Student WHERE Age=20;
      

      输出:

      滚不 名称 住址 电话 年龄
      3. 苏吉特 罗塔克 XXXXXXXXX 20
      3. 苏吉特 罗塔克 XXXXXXXXX 20
  • 获取卷号不大于3的学生的姓名和地址
    SELECT ROLL_NO,NAME,ADDRESS FROM Student WHERE ROLL_NO > 3;
    

    输出:

    滚不 名称 住址
    4. 苏雷什 德里

之间 操作人员

它用于获取包含两个值的给定范围内的过滤数据。 基本语法: 从表_name中选择column1、column2,其中column_name介于value1和value2之间;

BETWEEN: operator name 

值1和值2: 从value1到value2的精确值,以在中获取相关数据 结果集。

询问

  • 获取卷号介于1和3(含)之间的学生的记录
    SELECT * FROM Student WHERE ROLL_NO BETWEEN 1 AND 3;
    

    输出:

    滚不 名称 住址 电话 年龄
    1. 内存 德里 XXXXXXXXX 18
    2. 拉梅什 古尔冈 XXXXXXXXX 18
    3. 苏吉特 罗塔克 XXXXXXXXX 20
    3. 苏吉特 罗塔克 XXXXXXXXX 20
    2. 拉梅什 古尔冈 XXXXXXXXX 18
  • 取20至30岁(含20至30岁)学生的姓名、地址
    SELECT NAME,ADDRESS FROM Student WHERE Age BETWEEN 20 AND 30;
    

    输出:

    名称 住址
    苏吉特 罗塔克
    苏吉特 罗塔克

喜欢 操作人员

它用于通过在where子句中搜索特定模式来获取过滤后的数据。 基本语法: 从表_name中选择column1、column2,其中column_name类似于模式;

LIKE: operator name 

模式: 从模式中提取的精确值,以获取模式中的相关数据 结果集。

笔记 :模式中的字符区分大小写。

询问

  • 取名字以字母S开头的学生的记录。
    SELECT * FROM Student WHERE NAME LIKE 'S%'; 

    “%”(通配符)表示此处后面的字符,可以是任意长度和长度 价值关于通配符的更多信息将在下一集中讨论。

    输出:

    滚不 名称 住址 电话 年龄
    3. 苏吉特 罗塔克 XXXXXXXXX 20
    4. 苏雷什 德里 XXXXXXXXX 18
    3. 苏吉特 罗塔克 XXXXXXXXX 20
  • 获取姓名中包含模式“AM”的学生的记录。
    SELECT * FROM Student WHERE NAME LIKE '%AM%';
    

    输出:

    滚不 名称 住址 电话 年龄
    1. 内存 德里 XXXXXXXXX 18
    2. 拉梅什 古尔冈 XXXXXXXXX 18
    2. 拉梅什 古尔冈 XXXXXXXXX 18

在里面 操作人员

它用于获取过滤后的数据,与由“=”运算符获取的数据相同。只是不同之处在于,这里我们可以指定多个值,以便获得结果集。 基本语法: 从表_name中选择column1,column2,其中column_name位于(value1,value2,…);

IN: operator name 

值1,值2,…: 与给定值匹配的精确值,并在结果集中获得相关数据。

询问

  • 获取18岁或20岁学生的姓名和地址。
    SELECT NAME,ADDRESS FROM Student WHERE Age IN (18,20);
    

    输出:

    名称 住址
    内存 德里
    拉梅什 古尔冈
    苏吉特 罗塔克
    苏雷什 德里
    苏吉特 罗塔克
    拉梅什 古尔冈
  • 获取卷号为1或4的学生的记录。
    SELECT * FROM Student WHERE ROLL_NO IN (1,4);
    

    输出:

    滚不 名称 住址 电话 年龄
    1. 内存 德里 XXXXXXXXX 18
    4. 苏雷什 德里 XXXXXXXXX 18

本文由 严酷的阿加瓦尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享