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

相關文章
相關標籤/搜索