日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

    歡迎訪問 生活随笔!

    生活随笔

    當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

    编程问答

    sqlliet 创建多表查询的视图_第4关 复杂查询

    發布時間:2024/9/18 编程问答 35 豆豆
    生活随笔 收集整理的這篇文章主要介紹了 sqlliet 创建多表查询的视图_第4关 复杂查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

    (是什么,如何用,有什么用,注意事項)

    一、視圖:

    (1)是什么:數據庫存儲數據,視圖存儲SQL語句,不存數據

    (2)如何創建視圖 CREATE VIEW 視圖名稱(<視圖列名1,<視圖列名2>,...) AS <SELECT 查詢語句>;CREATE VIEW 按性別匯總(性別,人數) AS SELECT 性別,COUNT(*) FROM student GROUP BY 性別;

    (3)有什么用 ,優點

    ①將經常使用的select語句保存為視圖,不用每次重復書寫了

    ②視圖中的數據會隨著原表的變化而自動更新

    ③視圖無需保存數據,因此節省存儲設備的容量

    (4)注意事項

    ①避免在視圖基礎上創建視圖,多重視圖會降低sql性能和效率

    ②不能往視圖中插入數據

    二、子查詢

    1、子查詢就是一次性視圖(一次性select語句),運行后就會消失。

    子查詢是將用來定義視圖的select語句直接用于from子句中,實際上就是在select語句中嵌套另外一個select子句。

    2、如何使用:在where子句中跟in,any,all一起使用

    in(子查詢):查找in里面的數據

    any(子查詢):表示子查詢里面的任意一個數據(any和some相同)

    all(子查詢):表示子查詢里的所有數據

    any和all 可以跟比較運算符搭配使用

    3、注意事項

    ①all可以與=、>、>=、<、<=、<>結合起來使用,分別表示等于、大于、大于等于、小于、小于等于、不等于all里面的所有數據。

    如果是兩個數字比較,a > 3b 等價于 a/3 > b 。但是,在mysql里all得到的不是一個數字,是一個集合,也就是得到的是n行數據,所以不能寫a > 3all(b),語法只能是 a/3 > all(b)。

    all與子查詢的語法如下:

    SELECT 列名1 FROM 表名1 WHERE 列名1 > ALL (子查詢);

    ②避免使用多層嵌套

    ③子查詢名稱可以省略不寫,但是為了方便理解,建議根據處理內容來指定恰當的子查詢名稱

    ④運行順序:先運行子查詢,再運行外部查詢

    三、標量子查詢

    1、標量子查詢就是返回一行一列的單一值的子查詢,可以與比較運算符一起使用。

    SELECT 學號,成績 FROM score WHERE 成績 > (SELECT AVG(成績)FROM score );

    四、關聯子查詢:在每個組里進行比較

    偶爾使用:子查詢-①多行-子查詢 ②單一值-標量子查詢-IN ANY ALL BETWEEN③在每個組里比較-關聯子查詢-關聯條件

    頻繁使用:視圖

    五、如何用sql解決業務問題

    *如何排查SQL報錯信息

    先單獨運行子查詢,看看是否報錯,再排查外部查詢

    六、各種函數

    1.匯總函數

    2.算術函數

    3.字符串函數

    4.日期函數

    七、總結

    子查詢:返回多行結果

    標量子查詢:返回單一值,跟比較運算符,in,any,all,between一起使用

    關聯子查詢:用于每個組內比較,關聯條件必須在子查詢里

    多表查詢

    1.表的加法

    2.表的聯結

    3.聯結應用案例

    4.case表達式

    總結

    以上是生活随笔為你收集整理的sqlliet 创建多表查询的视图_第4关 复杂查询的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。