• SQL杂俎_陪老婆一起学SQL系列_Chapter 04_查询基础3


    一、WHERE语句简单筛选

    截至到目前,已经出现过的查询语句示例中,我们都是对整张student表中的某一列或者某几列做完整的查询,

    但实际上在业务处理过程中,往往需要添加一些限制条件来缩小范围,获取我们想要的查询结果。

    比如:只筛选查询“二班”的学生信息、“得分在60以上的学生记录”......

    语法:

    SELECT  <列名1>,<列名2>,...

    FROM  <表名>

    WHERE  <条件表达式>;

    示例1:

    --查询所有性别为F的学生记录
    SELECT * 
    FROM student
    WHERE sex = 'F'

    运行结果:

    示例1中,WHERE  sex = ‘F’  就是用来筛选查询结果的 条件表达式

    Tips:表达式中的字符串需要用 单引号(‘ ’)括起来x

    在查询的的过程中,会逐行将行中的sex的值与‘F’进行比较,满足限制条件“=”(等于)时,
    这一行记录会被筛选出来

    示例1中使用了(*)星号查询,所以筛选出sex=‘F’行的记录后,会返回所有列。


    示例2:

    --仅查询所有性别为F的学生班级、姓名、性别
    SELECT 
        class_no AS "班级",
        name  AS "姓名",
        sex  AS "性别"
    FROM student
    WHERE sex = 'F'

    运行结果:

     相较于示例1,示例2的语句仅查出了所有性别为‘F’的学生的 班级、姓名、性别

    可以想象一下这个语句的处理过程,如下图

    首先①步骤 通过语句 WHERE  sex = ‘F’  筛选出符合条件的行(红色框选)

    接着②步骤 语句 SELECT 指定了针对符合要求的行中需要提取的列(蓝色框选)

    Tips:

    # 筛选条件不是必须作为查询列,你可以尝试一下示例2中,查询性别列注释掉试试看,你能成功执行么?

    执行结果有什么不同?如果不能执行的话,你找到原因在哪了么???

    SQL中语句的顺序是固定的,不按照规定顺序会执行错误

    示例3:

    --仅查询所有性别为F的学生班级、姓名、性别
    --尝试将WHERE语句放在FROM语句前
    SELECT 
        class_no AS "班级",
        name  AS "姓名",
        sex  AS "性别"
    WHERE sex = 'F'
    FROM student

    运行结果:

     Tips:WHERE语句需要放在FROM语句之后

  • 相关阅读:
    LeetCode剑指Offer03
    腾讯软件开发客户端开发实习生二面
    luogu P2801 教主的魔法 分块
    luogu P3396 哈希冲突 根号算法
    luogu P1972 [SDOI2009]HH的项链 树状数组
    BZOJ 2440: [中山市选2011]完全平方数 莫比乌斯函数 容斥原理 二分答案
    柳阴直,烟里丝丝弄碧
    卡通别名
    它们
    高中随笔
  • 原文地址:https://www.cnblogs.com/MyDoldrums/p/14105939.html
Copyright © 2020-2023  润新知