1. 程式人生 > >關於SQL查詢語句的模糊查詢,排序用法,limit用法的介紹

關於SQL查詢語句的模糊查詢,排序用法,limit用法的介紹

SQL語句分為四類:

1,資料定義語言(DDL)。

2,資料操作語言(DML)。

3,資料控制語言(DCL)。

4,事務控制語言(DCL)。

一直想寫篇博文,但不知該怎麼下手。由於最近在做一箇中型專案,在專案中,對sql語句這塊兒,較為複雜且使用較多的當屬DML的查詢語句。因為本人在寫查詢語句時,也遇到過困惑,因為希望把自己在該專案中學習到的知識分享給大家,當我的文章有幸被大家閱讀的時候,讓一些初學者能夠以此解決一些問題。

首先,在實際專案中,查詢語句一般不讓使用" select * "這種語法的,一般是需要什麼查詢什麼。例如:

select a.id,a.addtime,a.updatetime from table_sys_org (as) a;(基本查詢語句)

其次,一般查詢需要附加高階搜尋(無關聯)。例如:

select a.id,a.addtime,a.updatetime from table_sys_org a where 1=1

1.如果加上指定搜尋: a.username='gfl' and a.password='gfl';

指定搜尋的話就是這樣,欄位名稱=欄位值。如果多個條件中間用and連線。切記不要把兩個單詞拼在一起,切記不要把兩個單詞拼在一起,切記不要把兩個單詞拼在一起。

2.如果加上模糊搜尋: a.username like '%g%'

模糊搜尋使用的不是  欄位名稱=欄位值 ,而是:欄位名稱 like '%查詢值%',同樣多個條件用and連線。

3.如果加上排序: order by a.addtime desc;

排序用法:加在where條件之後limit條件之前, order by 欄位名,預設為升序,如果要降序排列則加上desc。(注:很多童鞋可能還不能清楚的區分降序升序我就簡單介紹一下:升序(asc) 從小到大,降序(desc)從大到小)。

 後接查詢某幾條資料: limit x,y;

limit用法:用在語句最後,x為從第x+1位開始查詢,y為一次查詢多少條記錄.

還有,如果寫兩表關聯的查詢語句的話,比如:A表有欄位如下:

id(主鍵id),

name(姓名),

orgid(單位id)

    B表有欄位如下:

id(主鍵id),

orgname(單位名稱),要求:查詢A表所有資訊,並把單位id顯示為單位名稱。

如果遇到類似這樣的問題的話,可以使用左連線。比如:select a.id,a.name,a.orgid,b.orgname from A a left join B b on a.orgid=b.id;

這樣問題就解決了。同樣,如果多個表關聯使用左連線的話,也就是多個左連線中間用空格隔開即可。左連線後可接where條件(包括搜尋條件,排序條件,分頁查詢資料條件)

本篇文章到此就結束了,關於SQL查詢語句這塊兒,我們在實際操作中可以將專案中的SQL語句輸出,複製到 SQLyog中執行一遍,如果有問題可以在SQLyog中修改,無誤後再與專案中拼寫的SQL語句對照。基本上問題就可以解決。