MySQL查詢語句有哪些,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)是一家專業(yè)從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)站制作公司,創(chuàng)新互聯(lián)依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷推廣及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!
查詢
數(shù)據(jù)如下
or查詢
我們?cè)谏蠈W(xué)時(shí),會(huì)聽到這樣的話,某某某,你把誰誰誰或者誰誰誰叫過來。
這樣子的話,我們我們要查詢的,就是一個(gè)或(or)的關(guān)系了。
or查詢只有滿足一個(gè)條件即可
sql
-- 語法 SELECT * from student WHERE <條件> or <條件> ...; -- 例如,查詢姓名為張三的或者姓名為小劉的數(shù)據(jù) SELECT * from student WHERE name="張三" or name="小劉";
執(zhí)行結(jié)果
不等于(!=)查詢
上述我們查詢的,都是等于(=)操作,但是我們?cè)谏蠈W(xué)時(shí),還會(huì)有這種情況。
某個(gè)學(xué)生學(xué)習(xí)可好,背東西背的可快,放學(xué)的時(shí)候可能就人家一個(gè)人過了,這時(shí)候老師可能就說
除了某某某,其他學(xué)生本篇文章全部抄3遍,淦。。。
所以這時(shí)候就是反過來的查詢的,只需要排除某個(gè)人即可!
sql
-- 語法 SELECT * from student WHERE <條件>; -- 例如,查詢姓名不是張三的其他人,排除張三 SELECT * from student WHERE name!="張三";
執(zhí)行結(jié)果
in/not in查詢
學(xué)生們還都是年輕人,年齡大概都在20來歲,這時(shí)候老師說,班長(zhǎng),把年齡在19,20,21的人統(tǒng)計(jì)一下!
根據(jù)上述我們學(xué)過的知識(shí),可能你是這樣?jì)鸬摹?/p>
SELECT * from student WHERE age=19 or age=20 or age=21;
執(zhí)行結(jié)果
通過三個(gè)or找到,其實(shí)這樣也沒錯(cuò),但是還有一種更簡(jiǎn)單的。
sql
-- 語法SELECT * from student WHERE <列名> in (值1,值2,...) ...;-- 例如,需求同上SELECT * from student WHERE age in (19,20,21);
執(zhí)行結(jié)果
not in 就是不在這個(gè)范圍的數(shù)據(jù)啦!
sql
-- 查詢年齡不在19,20,21范圍的數(shù)據(jù) SELECT * from student WHERE age not in (19,20,21);
執(zhí)行結(jié)果
between查詢
between適合進(jìn)行范圍查詢!
sql
-- 語法 select * from 表 where <列> between <開始范圍> and <結(jié)束范圍>; -- 例如,查詢年齡時(shí)20-22歲的學(xué)生 SELECT * from student WHERE age BETWEEN 20 and 22;
執(zhí)行結(jié)果
同理,between還能用在時(shí)間上。
select * from <表名> where <時(shí)間列> between <開始時(shí)間> and <結(jié)束時(shí)間>
模糊查詢(like)
假設(shè)現(xiàn)在數(shù)據(jù)如下,有三個(gè)姓張的。
老師可能突然有一天對(duì)你說,班長(zhǎng),把咱們姓張的列出來,我找他們談點(diǎn)事,咋辦???
我們只需要找,是以張開頭的,后面是啥無所謂。
所以就要用到like模糊查詢。
sql
-- 語法 %表示匹配一個(gè)或多個(gè)字符 select * from 表 where <列> like '[%]<字符串>[%]' -- 例如,查詢,以張開頭的 SELECT * from student WHERE name like "張%";
執(zhí)行結(jié)果
同理,這個(gè)%可以放在任意位置,他就是充當(dāng)不確定的字符使用的,能夠自動(dòng)匹配一個(gè)或多個(gè)。
例如
... WHERE name like "張%豐"; 匹配:張三豐 WHERE name like "%魚"; 匹配:張甲魚 WHERE name like "李%"; 匹配:李四 ...
限制(limit)
限制這個(gè)有點(diǎn)怪異,還是圖片舉例比較好。
數(shù)據(jù)如下
sql
-- 前兩行 SELECT * from student LIMIT 2;
-- 從第2行開始后,再取4行 SELECT * from student LIMIT 2,4; -- 同上,寫法不同 SELECT * from student LIMIT 4 OFFSET 2
排序(order by)
不知道你有沒有發(fā)現(xiàn),我們之前查找的順序都是正向的。
但是會(huì)有個(gè)問題,我們新增的數(shù)據(jù),其實(shí)id是最大的,理論來說,應(yīng)該要排在最前面。
所以,應(yīng)該是倒序的是最好的。
sql
-- 語法 select * from <表名> order by <列> asc -- 從小到大排序 select * from <表名> order by <列> desc -- 從大到小排序 select * from <表名> order by <列1> desc,<列2> asc -- 先根據(jù) 列1 排序,如果數(shù)據(jù)相同,按照 列2 排序
例如
根據(jù)id正向排序
SELECT * from student ORDER BY id ASC;
執(zhí)行結(jié)果
根據(jù)id反向排序
SELECT * from student ORDER BY id desc;
執(zhí)行結(jié)果
hhh,這樣我們就把數(shù)據(jù)反過來了!!!
分組(groupby)
分組,這個(gè)可能是難為了一批人,其實(shí)分組的核心,在于理解這個(gè)壓縮這個(gè)概念。
假設(shè)數(shù)據(jù)如下
性別有男有女,如果我想知道,男的有多少個(gè),女的有多少個(gè)怎么辦???我總不能數(shù)吧。。。
所以這時(shí)候,如果能吧,男的都拿出來,女的都拿出來,就像這樣!
然后我對(duì)拿出來進(jìn)行壓縮成一條。
如果這個(gè)你懂了,那分組就懂了。
語法
SELECT <列>,COUNT(<列>) from student GROUP BY <列>; -- 因?yàn)榉纸M了某個(gè)列,所以就不能再展示其他列的信息了,因?yàn)閴涸谝粔K了,顯示不了 -- 但是可以通過count,sum等函數(shù)計(jì)算壓縮的個(gè)數(shù),或者總值
例如
統(tǒng)計(jì)男女各多少人
SELECT gender,COUNT(gender) from student GROUP BY gender;
執(zhí)行結(jié)果
統(tǒng)計(jì)同一年齡多少人
SELECT age,COUNT(age) as "數(shù)量" from student GROUP BY age;
執(zhí)行結(jié)果
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
網(wǎng)站欄目:MySQL查詢語句有哪些
本文地址:http://jinyejixie.com/article22/ppjgcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、全網(wǎng)營(yíng)銷推廣、響應(yīng)式網(wǎng)站、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)