mysql 全库查询关键字_数据库查询语句关键字总结
看過牛腩視頻后,前17集講后臺(tái)代碼的編寫,尤其講到查詢語句的時(shí)候,頓時(shí)感覺原來學(xué)習(xí)過的查詢語句中用到的關(guān)鍵字煙消云散了,啥都不記得了,通過看視頻,幫著回憶了一部分,在這里總結(jié)一下,查詢語句中用到的關(guān)鍵字的含義及使用。 一、select語句(單個(gè)表)
看過牛腩視頻后,前17集講后臺(tái)代碼的編寫,尤其講到查詢語句的時(shí)候,頓時(shí)感覺原來學(xué)習(xí)過的查詢語句中用到的關(guān)鍵字煙消云散了,啥都不記得了,通過看視頻,幫著回憶了一部分,在這里總結(jié)一下,查詢語句中用到的關(guān)鍵字的含義及使用。
一、select語句(單個(gè)表)
1.最簡單的查詢:
select * from [where ]
select column1,column2....from [where]
這里需要注意的是where子句中條件過濾使用到的關(guān)鍵字,比如用到邏輯運(yùn)算符like 中的’%‘(匹配一個(gè)或多個(gè)字符)和’_‘(僅匹配一個(gè))等。這個(gè)在新聞發(fā)布系統(tǒng)中也有用到。
例如:按標(biāo)題搜索:
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 + '%'
當(dāng)然還有很多,例如between,not ,in等關(guān)鍵字的使用也很重要。
2.DISTINCT關(guān)鍵字
這個(gè)關(guān)鍵字,主要用來取出列中唯一的值,比如:記錄中的一個(gè)字段值(city)如果有重復(fù)(廊坊,北京,廊坊,北京),那么利用DISTINCT關(guān)鍵字取出唯一值,即任何重復(fù)的值只計(jì)數(shù)一次,結(jié)果為為:(廊坊,北京)。
select DISTINCT city from [table]
3.使用別名
利用別名可以顯示我們想要的名字,方便閱讀。select city as 城市 from ...
4.group by 和having子句
group by 用來對(duì)查詢到的結(jié)果集進(jìn)行分組,必須位于select語句中的from子句或where子句之后。
having子句類似于where子句,緊跟在group by子后,作為一個(gè)查詢條件。
與where子句的區(qū)別:where子句作用于一條記錄中的查詢條件,而having子句則作用于一列的查詢條件
例如:
select location from citytable where city='北京' --查詢城市名為‘北京’的城市的位置
select city group by city having count(memberId)>=3 --查詢城市成員總數(shù)大于等于3的城市,同時(shí)按城市名分組
二、多表查詢
1、inner join
要求,查詢的多張表中必須具有相同的匹配項(xiàng)。其中on表示作用的表的條件,n,c 為別名
Select *
From news n
Inner join category c
on c.caid=c.id
要執(zhí)行的查詢結(jié)果必須是在兩張表中同時(shí)含有相同的類別號(hào)的記錄才會(huì)被查詢出來。
例如:以牛腩視頻中例子為例:
category表中id表示新聞?lì)悇e的id ,而news表中的caid則表示該新聞屬于具體哪個(gè)類別
那么執(zhí)行上面查詢語句后的結(jié)果:
inner join表
可以看到結(jié)果為類別號(hào)在兩張表中均存在的項(xiàng)。inner join還包括等值聯(lián)合和不等值,這主要由on后面的條件決定
2.left join
左外連接:連接時(shí),on條件左邊表所有項(xiàng)均查詢出來,而右邊表中若無匹配項(xiàng),則以null代替
上面兩張表,執(zhí)行
select * from category c left join news n on c.id=n.caid
結(jié)果為:
3.right join
顧名思義,右外連接結(jié)果與left join相反,將右邊表所有項(xiàng)查詢出來,而左邊表中無匹配項(xiàng)的則以null代替。
4.full join
無論左邊還是右邊所有項(xiàng)均返回結(jié)果。無對(duì)應(yīng)項(xiàng)以null代替。
三、其它
除了以上涉及到的查詢關(guān)鍵字外,還涉及到了嵌套查詢,in關(guān)鍵字的使用,對(duì)sql記錄進(jìn)行編號(hào)排序后按順序查詢等。利用
SELECT ROW_NUMBER() OVER (ORDER BY id desc)AS Row --Row為別名
以上只是涉及到了一部分的查詢關(guān)鍵字的總結(jié),也是經(jīng)常用到的,逐漸學(xué)習(xí),才發(fā)現(xiàn)原來的知識(shí)還是應(yīng)該不斷的回憶和應(yīng)用才能發(fā)現(xiàn)它更深一層應(yīng)用的含義。更多關(guān)于數(shù)據(jù)庫的知識(shí)有待進(jìn)一步實(shí)踐總結(jié)。
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請(qǐng)注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的mysql 全库查询关键字_数据库查询语句关键字总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html期末作业代码网页设计 我的家乡网
- 下一篇: Firefox浏览器如何安装Alexa工