SQL

    数据查询是数据库的核心操作。SQL 提供了 select 语句进行数据查询,该语句的一般格式为:

        select  [ ALL | distinct ] <目标列表达式>  [ ,<目标列表达式> ] …

        from  <表名或视图名> [ ,<表名或视图名> …]  |  (<select 语句>) [ AS ] <别名>

        [ where <条件表达式> ]

        [ group by <列名1> [ having <条件表达式> ] ]
        [ order by <列名2> [ ASC | DESC ] ]

    整个 select 语句的含义是:

      根据 where 子句的条件表达式从 from 子句指定的基本表、视图或派生表中找出满足条件的元组,再按 select 子句中的目标列表表达式选出元组中的属性值形成结果表。

    如果有 group by 子句,则将结果按 <列名1> 的值进行分组该属性列值相等的元组为一个组。—— 通常会在每组中作用聚集函数

    如果 group by 子句带 having 短语,则只有满足指定条件的组才予以输出

    select 语句既可以完成简单的单表查询,也可以完成复杂的连接查询和嵌套查询。

3.4.1 单表查询

  1、选择表中的若干列

    (1)查询指定列 (很多情况下,用户只对表中的一部分属性列感兴趣)

      

    (2)查询全部列

      

    (3)查询经过计算的值

      

      用户可以通过指定别名来改变查询结果的列标题,这对于含算术表达式、常量、函数名的目标列表达式尤为有用,如:

      

  2、选择表中的若干元组

    (1)消除取值重复的行

      

    (2)查询满足条件的元组

      查询满足指定条件的元组可以通过 where 子句实现。where 子句常用的查询条件如下:

      ① 比较大小

        用于进行比较的运算符一般包括 =, >, <, >=, <=, != 或 <>, !>, !<

      ② 确定范围

        谓词 between…and… 和 not between…and…(最好不要用带 not 的)可以用来查找属性值在(或不在)指定范围内的元组。

        其中,between 后是范围的下限(即低值),and 后是范围的上限(即高值)查询结果中包括上限和下限

        where  Sage between 20 and 23 ;

      ③ 确定集合

        谓词 in 可以用来查找属性值属于指定集合的元组。

        where Sdept IN ( 'CS', 'MA', 'IS') ;

      ④字符匹配

        谓词 like 可以用来进行字符串的匹配。

      ⑤ 涉及空值的查询

      ⑥ 多重条件查询

  3、order by 子句

  4、聚集函数

3.4.2 连接查询

    若一个查询同时涉及两个以上的表,则称之为连接查询。

    连接查询是关系数据库中最主要的查询,包括等值连接查询、自然连接查询、非等值连接查询、自身连接查询、外连接查询和复合条件连接查询等。

  1、等值与非等值连接查询

原文地址:https://www.cnblogs.com/zhangchaoran/p/8032839.html