您好,登錄后才能下訂單哦!
這篇文章主要介紹“基本的查詢sql語句整理”,在日常操作中,相信很多人在基本的查詢sql語句整理問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”基本的查詢sql語句整理”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
基本的查詢sql語句
一、概述:
學習MySQL數(shù)據(jù)庫中一定要學會sql的查詢功能,說白了,使用數(shù)據(jù)庫就是存儲數(shù)據(jù),查詢數(shù)據(jù),使用這些數(shù)據(jù)的一個過程。只有查看了才知道我們是否存儲成功,是否可以直接使用這些數(shù)據(jù)。
二、具體的sql
1、查詢數(shù)據(jù)庫的基本語法:
select 需要查詢的字段名和內(nèi)容 from 指定相關(guān)的表名 where 查詢時所需要的條件 group by 如何對結(jié)果分組 order by 如何對結(jié)果瓶排序 having 查詢時滿足的第二個條件 limit 限定查詢輸出的結(jié)果
(一):單表查詢
1、查詢所有字段
select * from 表名;
2、查詢指定字段
select 字段名 from 表名;
3、查詢指定數(shù)據(jù)
select * from 表名 where 條件;
4、帶“in”關(guān)鍵字的查詢
select * from 表名 where 條件 [not] IN(元素1,...元素n); 譯:not:是一個可選參數(shù),加上not表示不在集合內(nèi)滿足條件 元素:表示集合中的元素,各元素之間用逗號分開
5、帶“Between And”的范圍查詢
select * from 表名 where 條件 [not] between 取值1 and 取值2; 譯:not:是一個可選參數(shù),表示不在指定范圍內(nèi)滿足條件 取值1:表示范圍的起始值 取值2:表示范圍的終止值
6、帶“l(fā)ike”的字符匹配查詢【實現(xiàn)模糊查詢】
like字符來實現(xiàn)模糊查詢,一般在我們網(wǎng)頁的搜索、檢索等部分就要使用到模糊查詢 而使用的兩種通配符:“%”和“_”兩個。 “%”:可以匹配一個或多個字符,可以代表任意長的字符串 “_”:只匹配一個字符,如m_n;以m開頭,n結(jié)尾的3個字符 select * from 表名 where 條件 like ‘%a’; 譯:查詢這個表中包含a字符的所有數(shù)據(jù)。
7、帶“And”的多條件查詢
select * from 表名 where 條件1 and 條件2; 譯:使用and關(guān)鍵字連接多個條件
8、帶“Or”的多條件查詢
select * from 表名 where 條件1 or 條件2; 譯:只要滿足條件的其中之一都會被查詢到
9、使用“distinct”關(guān)鍵字取消重復的數(shù)據(jù)
select distinct 字段名 from 表名; 譯:取消查詢結(jié)果中重復的記錄行
10、使用“order by”關(guān)鍵字排序
select * from 表名 order by [asc][desc]; 譯:order by:是指使用什么方式來排序 asc:是指“升序”排序 desc:是指“降序”排序
11、使用“group by”關(guān)鍵字分組
select 字段1,字段2,... from 表名 group by 某個字段1或字段2分組查; 同時還可以多個字段進行分組
12、使用“l(fā)imit”限制查詢結(jié)果的數(shù)量
select * from order by asc limit 3; 譯:查詢的結(jié)果顯示前3條記錄
(二)聚合函數(shù)查詢
1、使用“count()”函數(shù)
select count(*) from 表名; 譯,統(tǒng)計表中所有的記錄
2、使用“sum()”函數(shù)
select sum(row) from 表名; 譯:求出表中行的總數(shù)。
3、使用“avg()”函數(shù)
select avg(row) from 表名; 譯:求出表中行的一個平均值
4、使用“max()”函數(shù)
select max(row) from 表名; 譯:查詢表中row字段的最大值
5、使用“min()”函數(shù)
select min(row) from 表名; 譯:查詢表中row字段的最小值
(三)連接查詢
1、內(nèi)連接查詢
select 字段1,字段2,字段3 from 表名1,表名2 where 表名1.字段1=表名2.字段2; 實現(xiàn)表與表之間的連接查詢就是要確定兩張表中都有相同的字段名。
2、外連接查詢
外連接與內(nèi)連接不同,外連接時指使用“outer join”關(guān)鍵字將兩張表連接起來。
分為左外連接“l(fā)eft join”、右外連接“right join”、全連接3種類型
語法:
select 字段名稱 from 表名1 left/right join 表名2 on 表名1.字段1=表名2.字段2;
2.1、左外連接“l(fā)eft join”
左外連接:是指將左表的所有數(shù)據(jù)分別于右表的每一條數(shù)據(jù)進行連接組合,返回的結(jié)果除內(nèi)連接的數(shù)據(jù)外,還包括左表中不符合的數(shù)據(jù),并在右表的相應(yīng)列中添加null值。
select 字段名稱 from 表名1 left join 表名2 on 表名1.字段1=表名2.字段2;
2.2、右外連接“right join”
右外連接是指將右表中的所有數(shù)據(jù)分別于左表中的每一條數(shù)據(jù)進行連接組合,返回的結(jié)果除內(nèi)連接的數(shù)據(jù)外,還包括右表中不符合的條件的數(shù)據(jù),并在左表的相應(yīng)列中添加null值。
select 字段名稱 from 表名1 right join 表名2 on 表名1.字段1=表名2.字段2;
2.3、交叉連接“cross join”:笛卡爾積
select * from 表1 cross join 表2
(四)子查詢
子查詢:就是select查詢是另一個查詢的附屬。什么是附屬關(guān)系,就是一個查詢語句查詢出來的結(jié)果是為第二個查詢的一個條件或一個基礎(chǔ)、前提等、只有當它查詢出來以后才能夠查詢出第二個的結(jié)果。
1、帶“in”關(guān)鍵字的子查詢
使用in運算符是可以檢測結(jié)果集中是否存在某個特定的值,如果檢測成功就執(zhí)行外部查詢語句。
select * from 表名1 where 字段1 in(select 字段1 from 表名2); 譯:查詢表1的所有記錄,但是字段1必須要在表2中出現(xiàn)過。
2、帶比較運算符的子查詢
子查詢使用運算符是比較平凡的,包括“=、!=、> 、< 、>=、<=”
3、帶“exists”關(guān)鍵字的子查詢
使用exists關(guān)鍵字時,內(nèi)層查詢語句不返回查詢的記錄,而是返回的是一個真假值。
select * from 表名1 where exists (select * from 表名2 where 字段名); 譯:使用子查詢查詢表2中對否存在某個限定條件的數(shù)據(jù),如果有,執(zhí)行外層的查詢數(shù)據(jù), 如果沒有,就只執(zhí)行內(nèi)層的查詢數(shù)據(jù)
4、帶“any”關(guān)鍵字的字查詢
使用any關(guān)鍵字是指只要滿足其中任意一個條件,就可以通過改條件來執(zhí)行外層的查詢語句。
5、帶“all”關(guān)鍵字的子查詢
使用all關(guān)鍵字是指內(nèi)層的查詢語句都必須要滿足所有的條件,使用all關(guān)鍵字時,只有滿足內(nèi)層查詢的所有條件才能夠執(zhí)行外層查詢。
(五)合并查詢結(jié)果
合并查詢結(jié)果是將多個select語句查詢的結(jié)果合并在一個。
1、使用“union”關(guān)鍵字
select * from 表1 union select * from 表2;
使用union關(guān)鍵字是將查詢出來的結(jié)果合并在一個,然后去除相同的、重復的記錄。
2、使用“union all”關(guān)鍵字
select * from 表1 union all select * from 表2;
使用union all關(guān)鍵字只是將結(jié)果合并在一個,不取消重復的記錄。
(六)定義表和字段的別名
1、定義表的別名
select * from 表名1 a where a . 字段1; 譯、定義的這個 a 就是表的別名,可以減少寫表名的時間。
2、定義字段的別名
基本形式:字段名 [AS] 別名
select 字段1 as A ,字段2 as B from 表名;
(七)使用正則表達式查詢
基本形式:字段名 regexp ‘匹配方式’
1、模式字符
模式字符 | 含 義 |
^ | 匹配以特定字符或字符串開頭的記錄 |
$ | 匹配以特定字符或字符串結(jié)尾的記錄 |
. | 匹配字符串的任意一個字符,包括回車和換行 |
[] | 匹配字符集合中的任意一個字符 |
[^ ] | 匹配除字符集合以外的任意一個字符 |
s1|s2|s3 | 匹配其中任意一個字符 |
* | 匹配多個該符號之前的字符,包括1和0個 |
字符串{N} | 匹配字符串出現(xiàn)N次 |
+ | 匹配多個該字符之前的字符,包括1個 |
字符串{M,N} | 匹配字符串出現(xiàn)至少M次,最多N次 |
到此,關(guān)于“基本的查詢sql語句整理”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。