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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

SQL基本查询语句

發(fā)布時(shí)間:2024/5/14 数据库 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL基本查询语句 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • SELECT … from …的幾種常見用法
  • 1.1 Select column1,column2,column3… from table;
    ● select 指定查詢哪些列的數(shù)據(jù)
    ● column 指定查詢列
    ● from 指定查詢哪張表
    SELECT district, branch, store FROM tb_store;

    1.2 Select distinct column1,column2,column3… from table;
    ● distinct 指顯示結(jié)果時(shí),是否剔除重復(fù)數(shù)據(jù)
    SELECT DISTINCT store FROM tb_store;

    1.3 Select * from table;
    ● * 代表查詢所有列
    SELECT * FROM tb_store;

    1.4 Select column1 列名1,column2 列名2 from table;
    ● 表示為查詢出的列定義別名
    SELECT district 區(qū)域, branch 分部, store 門店 FROM tb_store;

    1.5 Select 語(yǔ)句中可使用表達(dá)式對(duì)查詢的列進(jìn)行運(yùn)算
    如:Select column1*column2+column3 from table;

  • where子句,進(jìn)行過濾查詢
    SELECT * FROM tb_store WHERE district = ‘南區(qū)’;
    ● where 子句經(jīng)常使用的運(yùn)算符
    比較運(yùn)算符 >、<、>=、<=、=、<> 大于、小于、大于(小于)等于、不等于
    BETWEEN … AND … 顯示在某一區(qū)間的值,包含邊界值
    IN(…) 顯示在in列表中的值,例:in(100,200)
    LIKE ‘張%’ 模糊查詢,% 代表零個(gè)或多個(gè)任意字符,_ 代表一個(gè)字符
    IS (NOT) NULL 判斷是否為空
    邏輯運(yùn)算符 AND 多個(gè)條件同時(shí)成立
    OR 多個(gè)條件任一成立
    NOT 不成立,例:where not(salary>100);

  • order by 子句排序查詢結(jié)果
    Select column1,column2,column3… from table order by column1 asc | desc
    ● order by后指定的排序的列,排序的列既可是table中的列名,也可以是select 語(yǔ)句后列出的列名,也可以用order by 1,2,3…來表示(數(shù)字表示select后面查詢列的位置序號(hào))
    ● Asc 升序、Desc 降序,此項(xiàng)缺失的情況下默認(rèn)Asc
    SELECT district, branch, store, actual_date
    FROM tb_store
    WHERE district = ‘南區(qū)’
    ORDER BY actual_date; --等同于order by 4

  • 聚合函數(shù)
    ● count --計(jì)數(shù)
    ● sum --求和
    ● avg --求均值
    ● max/min --最大值/最小值
    SELECT district,
    COUNT(store), --普通計(jì)數(shù)
    COUNT(DISTINCT store), --返回store非空且不重復(fù)的記錄總數(shù)
    COUNT(*) --返回總記錄數(shù)
    FROM tb_store
    WHERE district IN (‘南區(qū)’, ‘北區(qū)’)
    GROUP BY district
    ORDER BY district;
    ● 聚合函數(shù)忽略空值

  • Group by子句
    Group by語(yǔ)句通過一定的規(guī)則將一個(gè)數(shù)據(jù)集劃分成若干個(gè)小的區(qū)域,然后針對(duì)若干個(gè)小區(qū)域進(jìn)行數(shù)據(jù)處理。如果在查詢的過程中需要按某一列的值進(jìn)行分組,以統(tǒng)計(jì)該組內(nèi)數(shù)據(jù)的信息時(shí),就要使用group by子句。
    group by子句一定要與分組函數(shù)結(jié)合使用,否則沒有意義。
    Select column1,column2,sum(column3) from table group by column1,column2;
    ● 所用包含于SELECT 列表中,而未包含于組函數(shù)中的列都必須包含于 GROUP BY 子句中

  • 使用having 子句過濾
    Having和where均可實(shí)現(xiàn)過濾,但having后可以使用合計(jì)函數(shù),having通常跟在group by后,它作用于組。
    /取出直銷歷史所有進(jìn)件超過1000的銷售組/
    SELECT store, sale_group_no, COUNT(serialno)
    FROM tb_credit_approval
    WHERE sale_channel = ‘直銷’
    GROUP BY store, sale_group_no
    HAVING COUNT(serialno) > 1000
    ORDER BY 1, 2;

  • 時(shí)間日期相關(guān)函數(shù)
    To_date(‘2016-12-01’,’yyyy-mm-dd’) 表示這一天00:00:00
    Date’2016-12-01’ 同上
    To_date(‘2016-12-01 17:14:15’,’yyyy-mm-dd hh24:mi:ss’) 含時(shí)分秒的日期
    Sysdate 獲取當(dāng)前時(shí)間
    Add_months(date,n) date加n個(gè)月
    Months_between(date1,date2) 兩日期相差的月數(shù)
    Last_day(date) 當(dāng)月最后一天
    Trunc(date,’mm’) 當(dāng)月第一天
    to_char(date,’yyyy-mm’) 獲取年-月
    to_char(date,’yyyy’) 獲取年份
    Date1-date2 計(jì)算兩日期相差天數(shù)

  • 其他常用函數(shù)
    Concat() 或者 || 字符串拼接
    Substr(string,position,length) 從string的position開始,截取length個(gè)字符
    Nvl(a,b) a字段為空時(shí)返回b字段的值

  • 表連接
    ● Inner join --內(nèi)連接
    SELECT * FROM a INNER JOIN b ON a1 = b1; --on指出關(guān)聯(lián)字段

  • ● Left join --左連接
    SELECT * FROM a LEFT JOIN b ON a1 = b1;

    ● Right join --右連接
    SELECT * FROM a RIGHT JOIN b ON a1 = b1;

    總結(jié)

    以上是生活随笔為你收集整理的SQL基本查询语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。