美文网首页
03 SQL规则和命令 进阶 逻辑操作

03 SQL规则和命令 进阶 逻辑操作

作者: 夏威夷的芒果 | 来源:发表于2018-04-03 23:24 被阅读14次

    LIKE 运算符

    LIKE 运算符对于处理文本非常有用。我们将在 WHERE 子句中使用 LIKE。

    LIKE 运算符经常与 % 一起使用。 % 告诉我们,我们可能会想要任何数量的字符,产生一组特定的字符或者遵循一组特定的字符。

    记住,需要用单引号或双引号将传达给 LIKE 运算符的文本括住,因为这个字符串中的大小写字母不一样。 搜索 'T' 与搜索 't' 不同。

    LIKE 匹配

    练习

    image.png

    答案

    答案

    IN 运算符

    IN 运算符对于数字和文本列都很有用。这个运算符可使我们使用 =,但对于特定列的多个项目。 可以检查我们要提取数据的一个、两个或多个列值,但这些都在同一个查询中。 在后面的概念中,我们将介绍 OR 运算符,也可以使用这个运算符执行这些任务,但使用 In 运算符编写的查询更清楚一些。

    其中非值的数据要用引号引起来,数字则不用。

    IN的使用方法

    练习

    练习

    答案

    答案

    NOT 运算符

    NOT 运算符是一个非常有用的运算符,用于与之前介绍的两个运算符 IN 和 LIKE 一起运算。通过指定 NOT LIKE 或 NOT IN,我们可以查找到所有不符合特定条件的行。

    练习

    练习

    答案

    答案

    AND 运算符

    AND 运算符用于 WHERE 语句中,用于一次考虑多个逻辑子句。 使用 AND 连接一个新的语句时,需要指定你感兴趣的列。可以同时连接尽可能多的考虑语句。 这个运算符可用于我们迄今为止所学习到的所有运算,包括算术运算符(+、*、-、/),可以使用 AND 运算符将 LIKE、IN 和 NOT 逻辑连接到一起。

    AND的使用

    BETWEEN 运算符

    有时使用 BETWEEN 比使用 AND 使语句更清楚一些。特别是在 AND 语句的不同部分使用相同的列时,就可以使语句比较清晰。 在上一个视频中,我们可能已经使用了 BETWEEN。

    而不是编写:

    WHERE column >= 6 AND column <= 10

    编写成以下这样,或许会更好:

    WHERE column BETWEEN 6 AND 10

    练习

    练习

    答案

    答案

    OR 运算符

    与 AND 运算符类似,OR 运算符可以组合多个语句。 使用 OR 连接新的语句时,需要指定你感兴趣的列。可以同时连接尽可能多的考虑语句。 这个运算符可用于我们迄今为止所学习到的所有运算,包括算术运算符(+、*、-、/),可以使用 OR 运算符将 LIKE、IN、NOT、AND 和 BETWEEN逻辑连接到一起。

    将多个运算组合到一起时,可能经常需要使用括号来确保我们要执行的逻辑能得到正确执行。

    练习

    练习

    答案

    答案

    概括
    命令
    你已经学到了关于在 SQL 中编写代码的很多东西!在继续后面的内容之前,让我们花一点时间来概括一下我们所讲的内容:

    语句 用法 其他详情
    SELECT SELECT Col1, Col2, ... 提供你想要的列
    FROM FROM Table 提供列存在的表
    LIMIT LIMIT 10 限制返回的行数
    ORDER BY ORDER BY Col 根据列对表排序。与 DESC 一起使用。
    WHERE WHERE Col > 5 用于过滤结果的条件语句
    LIKE WHERE Col LIKE '%me% 仅拉取文本中包含 'me' 的列
    IN WHERE Col IN ('Y', 'N') 仅过滤包含 'Y' 或 'N' 列的行
    NOT WHERE Col NOT IN ('Y', "N') NOT 经常与 LIKE 和 IN 一起使用
    AND WHERE Col1 > 5 AND Col2 < 3 过滤两个或多个条件必须为真的行
    OR WHERE Col1 > 5 OR Col2 < 3 过滤至少一个条件必须为真的行
    BETWEEN WHERE Col BETWEEN 3 AND 5 通常比使用 AND 的语法简单

    其他提示
    尽管 SQL 不区分大小写(它不在乎你将语句全部大写还是小写,但是关键词的顺序非常重要! :

    SELECT col1, col2
    FROM table1
    WHERE col3  > 5 AND col4 LIKE '%os%'
    ORDER BY col5
    LIMIT 10;
    

    注意,你可以检索不同于 ORDER BY 和 WHERE 语句中所使用列的列。假定这些列名均以这样的方式(col1、col2、col3、col4、col5)存在于一个名为 table1 的表中,此查询便会很好地运行。

    后续内容
    下节课中,你将学习JOIN(连接)。这是 SQL 作为一门语言能如此成功的秘诀所在(这一点早已不是秘密)。JOIN 使我们可以将多个表组合在一起。我们在此所学的所有运算对于后面的内容仍然重要,但通过将多个表的信息结合在一起,我们将能回答更复杂的问题!你已经掌握了很多内容,或许也编写了你人生的第一份代码,不过之后你还可以有更多的提升空间!

    相关文章

      网友评论

          本文标题:03 SQL规则和命令 进阶 逻辑操作

          本文链接:https://www.haomeiwen.com/subject/medhhftx.html