必須會(huì)的sql語句(六) 數(shù)據(jù)查詢

字號(hào):


    1.基礎(chǔ)的查詢
    1)重命名列
    select name as '姓名' from 表名
    2)定義常量列
    select 是否 ='是' from 表名
    3)top用法 percent
    --這種寫法可以獲取前20%條字段。
    select top 20 percent * from 表名
    4)去除重復(fù)列
    select distinct 列名 from 表名
    5)聚合函數(shù)
    max avg count min sum
    --多個(gè)聚合結(jié)果 在一個(gè)結(jié)果集中
    select
    最大年齡 = (select max(age) from 表名),
    最小年齡 = (select min(age) from 表名)
    6)between and
    select * from 表 where xx between 5 and 6
    2.union 使用union將兩個(gè)結(jié)果集匯聚在一起。
    -- 年齡 工資
    -- ————————
    -- 19 $20000
    -- 50 $20005
    -- 30 $23000
    -- 匯總 $63005
    -- 查詢各年齡段工資,同時(shí)顯示所有工資匯總。(像上邊的表)
    select
    --把年齡轉(zhuǎn)換成varchar類型
    convert(varchar(10),[age]) as 年齡
    sum([salary]) as 工資
    from 員工表
    group by age
    --將兩個(gè)結(jié)果集,合并成一個(gè)結(jié)果集
    union
    select
    --匯總是一個(gè)常量列
    '匯總' , sum(salary)
    from 員工表
    使用union合并兩個(gè)結(jié)果集時(shí),
    兩個(gè)結(jié)果集列數(shù)必須一致,并且數(shù)據(jù)類型對(duì)應(yīng)。
    這就是代碼中,把年齡轉(zhuǎn)換成varchar的原因。
    3.order by
    -- order by 用于結(jié)果集排序,
    -- 其order他后邊不只可以接一個(gè)字段,
    -- 也能接一個(gè) 表達(dá)式。
    select *
    from 表
    order by (age+salary)/2.0 desc