• SQL语言之DQL(查询)


    1、DQL的基本介绍

    DQL(Data Query Language,查询数据):DQL就是用来查询表中的数据的,为用户提供查询数据的能力,这也是通常最频繁的数据库日常操作。

    2、基本查询(select)

    要查询数据库表的数据,我们使用如下的SQL语句:

    SELECT * FROM <表名>;
    # 示例:
    SELECT * FROM students;  # 查询students表的所有数据

    查询结果也是一个二维表,它包含列名和每一行的数据。

    SELECT语句其实并不要求一定要有FROM子句:

    SELECT 100+200;

    上述查询会直接计算出表达式的结果。虽然SELECT可以用作计算,但它并不是SQL的强项。但是,不带FROM子句的SELECT语句有一个有用的用途,就是用来判断当前到数据库的连接是否有效。许多检测工具会执行一条SELECT 1;来测试数据库连接。

    3、条件查询(where、and、or、not、<>)

    条件查询语法:

    SELECT * FROM <表名> WHERE <条件表达式>
    # 示例:
    SELECT * FROM students WHERE score >= 80;

    常用的条件表达式有:

    3.1、AND条件

    条件表达式可以用<条件1> AND <条件2>表达满足条件1并且满足条件2,代码示例:

    SELECT * FROM students WHERE score >= 80 AND gender = 'M';  # 假设gender列存储的是字符串,那就需要用单引号括起来

    3.2、OR条件

    也可以用<条件1> OR <条件2>来表示满足条件1或者满足条件2,代码示例:

    SELECT * FROM students WHERE score >= 80 OR gender = 'M';

     3.3、NOT条件

    还有NOT <条件>,表示“不符合该条件”的记录。NOT条件其实等价于<>,因此,NOT查询不是很常用。代码示例:

    SELECT * FROM students WHERE NOT class_id = 2;
    # 等价于:
    SELECT * FROM students WHERE class_id <> 2;

    3.4、小括号() 

    要组合三个或者更多的条件,就需要用小括号()表示如何进行条件运算。例如,编写一个复杂的条件:分数在80以下或者90以上,并且是男生:

    SELECT * FROM students WHERE (score < 80 OR score > 90) AND gender = 'M';

    如果不加括号,条件运算按照 NOT > AND > OR 的优先级进行,即 NOT 优先级最高,其次是 AND,最后是 OR。加上括号可以改变优先级。

  • 相关阅读:
    Java和JavaScript的时间互传
    session.createQuery()不执行和java.lang.reflect.InvocationTargetException
    [转载]标签a的href和onclick
    [转载]前端优化指南
    POJ1328-Radar Installation
    POJ1323-Game Prediction
    codinglife主题小修改和有意思的博客挂件
    POJ1050-To the Max
    HDU4323-Magic Number(levenshtein distance-编辑距离)
    HDU2955-Robberies
  • 原文地址:https://www.cnblogs.com/wenxuehai/p/13382580.html
Copyright © 2020-2023  润新知