SQL改寫的方法,select group by sum

mcxiaoracle 發表於 2022-07-16
SQL

select 1 from table:

1. select 1 from table;
2. select xxx(表中的任意一行) from table;
3. select * from table;

從作用上來說是沒有差別的,都是檢視錶中是否有記錄,且一般是作條件查詢用的


select * from student stuA where exists (select 1 from stuA.id = stuB.id)




    一、 select 1 from table 中的1是一常量(可以為任意數值),查到的所有行的值都是它,但從效率上來說,select 1 > select xxx > select *,因為不用查字典表。





    group by sum:

    group by可以根據給定資料列的每個成員對查詢結果進行分組統計,最終得到一個彙總表。

    group by幾個比較重要的約束:

    (1)select字句中的列名和having或where中的列名必須為分組列或列函式.列函式對於group by字句定義的每個組返回一個結果
    (2)group by一般和聚合函式一使用才有意義,比如count,sum,avg等,使用group by 的兩個要素:
    (3)出現在select後面的欄位,要麼是聚合函式中的,要麼是group by中的.
    (4)要篩選結果,可以先使用where再用group by或者先用group by再用having

    第(4)項根據各個資料庫不同不一定都能適用,因此最好不要這樣用,老老實實用having





    推薦閱讀:

    https://blog.csdn.net/yangyang975/article/details/108556962


    來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949806/viewspace-2906054/,如需轉載,請註明出處,否則將追究法律責任。