關於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語句對照。基本上問題就可以解決。