SQL语句整理(一) 数据库查询语言DQL

前言:数据库

这是我学数据库时整理的学习资料,基本上包括了因此的SQL语句的知识点。函数

个人教材是人大王珊老师的《数据库系统概论》。学习

由于是手打的,因此会用一些细节打错了,但都挺明显也很少(考完试后我也没有继续整理)。spa

 

SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式> ]...
FROM <表名或视图名> [ ,<表名或视图名> ]
| (<SELECT语句>) [AS] <别名>
[ WHERE <条件表达式> ]
[ GROUP BY <列名1> [ HAVING <条件表达式> ]]
[ ORDER BY <列名2> [ASC|DESC] ]排序

Note:字符串

 1.<目标表达式>能够是:it

    1) 属性列学习资料

    2) 算术表达式,如:2014-Sage语法

    3) 字符串常量,如:'姓名:'im

    4) 函数,如:LOWER(Sdept) --> 用小写字母表示Sdept

 2.GROUP BY --> 将结果按照<列名1>的值进行分组,

                该属性列值相等的元组为一个组

   带有HAVING --> 只有知足指定条件的组才予以输出

   eg:

    SELECT Sno,AVG(Grade)

    FROM SC

    GROUP BY Sno

    HAVINT AVG(Grage)>=90;

 3.ORDER BY --> 按照<列名2>的值排序:ASC --> 升序(默认)

                                     DESC -> 降序

 4.查询条件(WHERE子句):

    1) 比较:

        =,>,<,>=,<=,!= or <>,!>,!<

        NOT+上述比较符

             Note: =后面接值 --> 比较操做

                   =后面接列 --> 链接操做

    2) 范围:

        BETWEEN lower_limit AND upper_limit

             Note: 包括lower_limit和upper_limit

        NOT BETWEEN lower_limit AND upper_limit

    3) 肯定集合:

        IN

             eg: WHERE Sdept IN ('CS','MA','IS')

        NOT IN

    4) 字符匹配:

        LIKE

        NOT LIKE

             Note:

              语法:

               1.[NOT] LIKE '<匹配串>' [ESCAPE'<换码字符>']

               2.% --> 任意长度(可为0)的字符串

                 _ --> 任意单个字符串

             eg:

               WHERE Cname LIKE 'DB\_%i_' ESCAPE'\'

    5) 空值:

        IS NULL

        IS NOT NULL

             eg:

              WHERE Grade IS NULL

相关文章
相关标签/搜索