資料庫查詢語句關鍵字總結,資料庫語句關鍵字

來源:互聯網
上載者:User

資料庫查詢語句關鍵字總結,資料庫語句關鍵字
看過牛腩視頻後,前17集講後台代碼的編寫,尤其講到查詢語句的時候,頓時感覺原來學習過的查詢語句中用到的關鍵字煙消雲散了,啥都不記得了,通過看視頻,幫著回憶了一部分,在這裡總結一下,查詢語句中用到的關鍵字的含義及使用。一、select語句(單個表)    1.最簡單的查詢:

            select * from [where ]

           select column1,column2....from [where]

 這裡需要注意的是where子句中條件過濾使用到的關鍵字,比如用到邏輯運算子like 中的’%‘(匹配一個或多個字元)和’_‘(僅匹配一個)等。這個在新聞發布系統中也有用到。

       例如:按標題搜尋:

Select top 10 n.id,n.title,n.createtime,c.[name]   from news n inner join category c on c.caid=c.id   where n.title like '%' + @title + '%' 

 

    當然還有很多,例如between,not ,in等關鍵字的使用也很重要。    

2.DISTINCT關鍵字

          這個關鍵字,主要用來取出列中唯一的值,比如:記錄中的一個欄位值(city)如果有重複(廊坊,北京,廊坊,北京),那麼利用DISTINCT關鍵字取出唯一值,即任何重複的值只計數一次,結果為為:(廊坊,北京)。

select DISTINCT city from [table]  

   3.使用別名

        利用別名可以顯示我們想要的名字,方便閱讀。select city as 城市 from ...

 4.group by 和having子句

       group by 用來對查詢到的結果集進行分組,必須位於select語句中的from子句或where子句之後。

       having子句類似於where子句,緊跟在group by子後,作為一個查詢條件。

    與where子句的區別:where子句作用於一條記錄中的查詢條件,而having子句則作用於一列的查詢條件

例如:

select  location from citytable  where city='北京'  --查詢城市名為‘北京’的城市的位置 select city group by city having count(memberId)>=3 --查詢城市成員總數大於等於3的城市,同時按城市名分組  


二、多表查詢    1、inner join

       要求,查詢的多張表中必須具有相同的匹配項。其中on表示作用的表的條件,n,c 為別名

    Select *      From news n      Inner join category c       on c.caid=c.id  

 要執行的查詢結果必須是在兩張表中同時含有相同的類別號的記錄才會被查詢出來。

例如:以牛腩視頻中例子為例:

category表中id表示新聞類別的id ,而news表中的caid則表示該新聞屬於具體哪個類別


那麼執行上面查詢語句後的結果:

inner join表

可以看到結果為類別號在兩張表中均存在的項。inner join還包括等值聯合和不等值,這主要由on後面的條件決定

2.left  join

       左外串連:串連時,on條件左邊表所有項均查詢出來,而右邊表中若無匹配項,則以null代替

上面兩張表,執行

    select * from category c left join news n on  c.id=n.caid  

結果為:


3.right join

     顧名思義,右外串連結果與left join相反,將右邊表所有項查詢出來,而左邊表中無匹配項的則以null代替。

4.full join

     無論左邊還是右邊所有項均返回結果。無對應項以null代替。

三、其它

    除了以上涉及到的查詢關鍵字外,還涉及到了巢狀查詢,in關鍵字的使用,對sql記錄進行編號排序後按順序查詢等。利用

    SELECT ROW_NUMBER() OVER (ORDER BY id desc)AS Row --Row為別名

      以上只是涉及到了一部分的查詢關鍵字的總結,也是經常用到的,逐漸學習,才發現原來的知識還是應該不斷的回憶和應用才能發現它更深一層應用的含義。
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.