数据库原理与应用-----------------关系数据库的标准查询语言SQL(二)

1.SQL中的数据查询

   SELECT 语句具有数据查询,统计,分组和排序的功能,一个完整的查询语法如下:


   SELECT [ALL | DISTINCT ]<目标列表达式1> [,目标列表达式2],...]

   FROM <表名或视图名1> [,<表名或视图名2>,...]

      [WHERE <元组选择条件表达式>]

      [GROUP BY <属性列名1>[,[属性列名2>,...] [HAVING <组选择条件表达式>]]

      [ORDER BY <目标列名1>[ASC | DESC ] [ , <目标列名2> [ASC | DESC ], ..... ]];


(1)查询结果显示

1)SELECT * FROM <表名>;

  该语句查询了<表名>的所有属性

2)SELECT    <属性名>    AS   自己取得名称

    FROM  <表名>;

上面语句是AS 的运用,可以自己取别名。

3)SELECT DISTINCT <属性名>

     FROM <表名>

   上面语句是DISTINCT的运用,作用是查询的结果行不重复出现。

(2)条件语句的查询

         在WHERE语句中,可以使用运算符,比较操作符,逻辑运算符以及谓词等构成元组选择条件来查询满足条件的元组。

1)运算符

接下来会按照运算符的优先顺序从高到低进行排序

  • 算术运算符:+,-,*,/,%
  • 比较运算符:=,<>,>=,>,<=,<
  • 谓词:[ NOT ] BETWEEN ... AND, [ NOT ] IN, [ NOT ] LIKE, IS [NOT ] NULL.
  • 逻辑运算: NOT, AND, OR

2)使用BETWEEN查询(用于判断某个值是否属于一个指定的区间)

  表达式1   [ NOT ]   BETWEEN   表达式2   AND   表达式3

3)使用LIKE查询(用于字符串的比较)

<属性列名>   [NOT]    LIKE    字符串表达式

  • 字符_:代表任意一个单子符
  • 字符%:代表长度可以为0的任意长字符
  • 其他字符只能代表自己

4)IN查询(适用于判断一个值是否属于一个集合)

表达式1    [NOT]   IN(V1,V2, ... ,Vn)

(3)查询结果的排序
    ORDER BY(按照一个或多个目标列的值进行升序(ASC)或降序(DESC)排序

语法格式:

        ORDER      BY      <目标列1>  [ASC | DESC] [,<目标列2>  [ASC | DESC], .... ]

注意:如果ORDER  BY 后面有多个目标列,则先按第一个目标列进行排序,然后接着第二目标列进行排序,依zhi类推。

(4)聚集函数

COUNT (*)                                                                         统计元组个数

COUNT ( [ DISTINCT | ALL ] < 属性列名> )                       统计一属性列值的个数

SUM( [ DISTINCT | ALL ] < 属性列名 > )                            计算一属性列值的总和(该列必须是数值型)

AVG ( [ DISTINCT | ALL ] < 属性列名 > )                           计算一属性列值的平均值(该列必须是数值型)

MAX ( [ DISTINCT | ALL ] < 属性列名 > )                          求一属性列值中的最大值

MIN ( [ DISTINCT | ALL ] < 属性列名 > )                          求一属性列值中的最小值

(5)分组聚集

GROUP  BY(将聚集函数作业于按照一个或多个属性列的值构造的分组上)

语法格式:

  GROUP  BY  <属性列名1> [ , <属性列名2> , ... ] [HAVING 条件]

注意:GROUP  BY 依次按照<属性列名1>,<属性列名2>...的值对满足查询条件的元组进行分组,在所有这些属性上值相等的元组构成一组。



本文章参考宋金玉 陈萍 陈刚 编著《数据库原理与应用》




猜你喜欢

转载自blog.csdn.net/mr_police/article/details/80663459