這篇文章主要介紹“基本的查詢(xún)sql語(yǔ)句整理”,在日常操作中,相信很多人在基本的查詢(xún)sql語(yǔ)句整理問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對大家解答”基本的查詢(xún)sql語(yǔ)句整理”的疑惑有所幫助!接下來(lái),請跟著(zhù)小編一起來(lái)學(xué)習吧!
基本的查詢(xún)sql語(yǔ)句
一、概述:
學(xué)習數據庫中一定要學(xué)會(huì )sql的查詢(xún)功能,說(shuō)白了,使用數據庫就是存儲數據,查詢(xún)數據,使用這些數據的一個(gè)過(guò)程。只有查看了才知道我們是否存儲成功,是否可以直接使用這些數據。
二、具體的sql
1、查詢(xún)數據庫的基本語(yǔ)法:
select 需要查詢(xún)的字段名和內容 from 指定相關(guān)的表名 where 查詢(xún)時(shí)所需要的條件 group by 如何對結果分組 order by 如何對結果瓶排序 having 查詢(xún)時(shí)滿(mǎn)足的第二個(gè)條件 limit 限定查詢(xún)輸出的結果
(一):?jiǎn)伪聿樵?xún)
1、查詢(xún)所有字段
select * from 表名;
2、查詢(xún)指定字段
select 字段名 from 表名;
3、查詢(xún)指定數據
select * from 表名 where 條件;
4、帶“in”關(guān)鍵字的查詢(xún)
select * from 表名 where 條件 [not] IN(元素1,...元素n); 譯:not:是一個(gè)可選參數,加上not表示不在集合內滿(mǎn)足條件 元素:表示集合中的元素,各元素之間用逗號分開(kāi)
5、帶“Between And”的范圍查詢(xún)
select * from 表名 where 條件 [not] between 取值1 and 取值2; 譯:not:是一個(gè)可選參數,表示不在指定范圍內滿(mǎn)足條件 取值1:表示范圍的起始值 取值2:表示范圍的終止值
6、帶“l(fā)ike”的字符匹配查詢(xún)【實(shí)現模糊查詢(xún)】
like字符來(lái)實(shí)現模糊查詢(xún),一般在我們網(wǎng)頁(yè)的搜索、檢索等部分就要使用到模糊查詢(xún) 而使用的兩種通配符:“%”和“_”兩個(gè)。 “%”:可以匹配一個(gè)或多個(gè)字符,可以代表任意長(cháng)的字符串 “_”:只匹配一個(gè)字符,如m_n;以m開(kāi)頭,n結尾的3個(gè)字符 select * from 表名 where 條件 like ‘%a’; 譯:查詢(xún)這個(gè)表中包含a字符的所有數據。
7、帶“And”的多條件查詢(xún)
select * from 表名 where 條件1 and 條件2; 譯:使用and關(guān)鍵字連接多個(gè)條件
8、帶“Or”的多條件查詢(xún)
select * from 表名 where 條件1 or 條件2; 譯:只要滿(mǎn)足條件的其中之一都會(huì )被查詢(xún)到
9、使用“distinct”關(guān)鍵字取消重復的數據
select distinct 字段名 from 表名; 譯:取消查詢(xún)結果中重復的記錄行
10、使用“order by”關(guān)鍵字排序
select * from 表名 order by [asc][desc]; 譯:order by:是指使用什么方式來(lái)排序 asc:是指“升序”排序 desc:是指“降序”排序
11、使用“group by”關(guān)鍵字分組
select 字段1,字段2,... from 表名 group by 某個(gè)字段1或字段2分組查; 同時(shí)還可以多個(gè)字段進(jìn)行分組
12、使用“l(fā)imit”限制查詢(xún)結果的數量
select * from order by asc limit 3; 譯:查詢(xún)的結果顯示前3條記錄
(二)聚合函數查詢(xún)
1、使用“count()”函數
select count(*) from 表名; 譯,統計表中所有的記錄
2、使用“sum()”函數
select sum(row) from 表名; 譯:求出表中行的總數。
3、使用“avg()”函數
select avg(row) from 表名; 譯:求出表中行的一個(gè)平均值
4、使用“max()”函數
select max(row) from 表名; 譯:查詢(xún)表中row字段的最大值
5、使用“min()”函數
select min(row) from 表名; 譯:查詢(xún)表中row字段的最小值
(三)連接查詢(xún)
1、內連接查詢(xún)
select 字段1,字段2,字段3 from 表名1,表名2 where 表名1.字段1=表名2.字段2; 實(shí)現表與表之間的連接查詢(xún)就是要確定兩張表中都有相同的字段名。
2、外連接查詢(xún)
外連接與內連接不同,外連接時(shí)指使用“outer join”關(guān)鍵字將兩張表連接起來(lái)。
分為左外連接“l(fā)eft join”、右外連接“right join”、全連接3種類(lèi)型
語(yǔ)法:
select 字段名稱(chēng) from 表名1 left/right join 表名2 on 表名1.字段1=表名2.字段2;
2.1、左外連接“l(fā)eft join”
左外連接:是指將左表的所有數據分別于右表的每一條數據進(jìn)行連接組合,返回的結果除內連接的數據外,還包括左表中不符合的數據,并在右表的相應列中添加null值。
select 字段名稱(chēng) from 表名1 left join 表名2 on 表名1.字段1=表名2.字段2;
2.2、右外連接“right join”
右外連接是指將右表中的所有數據分別于左表中的每一條數據進(jìn)行連接組合,返回的結果除內連接的數據外,還包括右表中不符合的條件的數據,并在左表的相應列中添加null值。
select 字段名稱(chēng) from 表名1 right join 表名2 on 表名1.字段1=表名2.字段2;
2.3、交叉連接“cross join”:笛卡爾積
select * from 表1 cross join 表2
(四)子查詢(xún)
子查詢(xún):就是select查詢(xún)是另一個(gè)查詢(xún)的附屬。什么是附屬關(guān)系,就是一個(gè)查詢(xún)語(yǔ)句查詢(xún)出來(lái)的結果是為第二個(gè)查詢(xún)的一個(gè)條件或一個(gè)基礎、前提等、只有當它查詢(xún)出來(lái)以后才能夠查詢(xún)出第二個(gè)的結果。
1、帶“in”關(guān)鍵字的子查詢(xún)
使用in運算符是可以檢測結果集中是否存在某個(gè)特定的值,如果檢測成功就執行外部查詢(xún)語(yǔ)句。
select * from 表名1 where 字段1 in(select 字段1 from 表名2); 譯:查詢(xún)表1的所有記錄,但是字段1必須要在表2中出現過(guò)。
2、帶比較運算符的子查詢(xún)
子查詢(xún)使用運算符是比較平凡的,包括“=、!=、> 、< 、>=、<=”
3、帶“exists”關(guān)鍵字的子查詢(xún)
使用exists關(guān)鍵字時(shí),內層查詢(xún)語(yǔ)句不返回查詢(xún)的記錄,而是返回的是一個(gè)真假值。
select * from 表名1 where exists (select * from 表名2 where 字段名); 譯:使用子查詢(xún)查詢(xún)表2中對否存在某個(gè)限定條件的數據,如果有,執行外層的查詢(xún)數據, 如果沒(méi)有,就只執行內層的查詢(xún)數據
4、帶“any”關(guān)鍵字的字查詢(xún)
使用any關(guān)鍵字是指只要滿(mǎn)足其中任意一個(gè)條件,就可以通過(guò)改條件來(lái)執行外層的查詢(xún)語(yǔ)句。
5、帶“all”關(guān)鍵字的子查詢(xún)
使用all關(guān)鍵字是指內層的查詢(xún)語(yǔ)句都必須要滿(mǎn)足所有的條件,使用all關(guān)鍵字時(shí),只有滿(mǎn)足內層查詢(xún)的所有條件才能夠執行外層查詢(xún)。
(五)合并查詢(xún)結果
合并查詢(xún)結果是將多個(gè)select語(yǔ)句查詢(xún)的結果合并在一個(gè)。
1、使用“union”關(guān)鍵字
select * from 表1 union select * from 表2;
使用union關(guān)鍵字是將查詢(xún)出來(lái)的結果合并在一個(gè),然后去除相同的、重復的記錄。
2、使用“union all”關(guān)鍵字
select * from 表1 union all select * from 表2;
使用union all關(guān)鍵字只是將結果合并在一個(gè),不取消重復的記錄。
(六)定義表和字段的別名
1、定義表的別名
select * from 表名1 a where a . 字段1; 譯、定義的這個(gè) a 就是表的別名,可以減少寫(xiě)表名的時(shí)間。
2、定義字段的別名
基本形式:字段名 [AS] 別名
select 字段1 as A ,字段2 as B from 表名;
(七)使用正則表達式查詢(xún)
基本形式:字段名 regexp ‘匹配方式’
1、模式字符
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站