第7章 單表數(shù)據(jù)查詢(xún)

7.1 無(wú)條件數(shù)據(jù)查詢(xún)

7.1.1 簡(jiǎn)單數(shù)據(jù)查詢(xún)

關(guān)鍵字
SELECT...FROM...
語(yǔ)法:

SELECT
`查詢(xún)字段1 `,
`查詢(xún)字段2 `,
`查詢(xún)字段3 `,
……
`查詢(xún)字段n `
FROM `表名`;

示例

說(shuō)明:

  • 對(duì)于簡(jiǎn)單的數(shù)據(jù)查詢(xún),應(yīng)使用SELECT…FROM這樣的命令,但需要注意,這樣會(huì)查詢(xún)出表中所有的數(shù)據(jù),因?yàn)闆](méi)有查詢(xún)條件。
  • 在進(jìn)行數(shù)據(jù)查詢(xún)時(shí),必須明確寫(xiě)出需要查詢(xún)的字段,而不能使用星號(hào)*。

7.1.2 過(guò)濾重復(fù)數(shù)據(jù)

關(guān)鍵字:
DISTINCT
語(yǔ)法:

SELECT DISTINCT 字段名 FROM 表名;

示例:

說(shuō)明:
DISTINCT是用來(lái)去除某個(gè)字段的重復(fù)數(shù)據(jù),只取得某個(gè)字段不重復(fù)的數(shù)據(jù)。

7.2 有條件數(shù)據(jù)查詢(xún)

7.2.1 帶關(guān)系運(yùn)算符的條件數(shù)據(jù)查詢(xún)
關(guān)鍵字:
大于:>
大于等于:>=
小于:<
小于等于:<=
不等于:<>
語(yǔ)法:

SELECT
`查詢(xún)字段1 `,
`查詢(xún)字段2 `,
`查詢(xún)字段3 `,
……
`查詢(xún)字段n `
FROM `表名`
WHERE `條件字段1` = '條件字段1的值'
AND `條件字段2` > '條件字段2的值',
AND `條件字段3` <> '條件字段3的值',
……
AND `條件字段n` < '條件字段n的值';

示例:

7.2.2 帶邏輯運(yùn)算符的條件數(shù)據(jù)查詢(xún)
關(guān)鍵字:
AND
OR
語(yǔ)法:

SELECT
`查詢(xún)字段1 `,
`查詢(xún)字段2 `,
`查詢(xún)字段3 `,
……
`查詢(xún)字段n `
FROM `表名`
WHERE `條件字段1` = '條件字段1的值' 
OR `條件字段2` = '條件字段2的值',

示例:

7.2.3 帶BETWEEN AND關(guān)鍵字的范圍查詢(xún)
關(guān)鍵字:

BETWEEN……AND……

語(yǔ)法:

SELECT
`查詢(xún)字段1 `,
`查詢(xún)字段2 `,
`查詢(xún)字段3 `,
……
`查詢(xún)字段n `
FROM `表名`
WHERE `條件字段1` = '條件字段1的值' 
AND `條件字段2` BETWEEN '條件字段2的值1' AND '條件字段2的值2'
OR `條件字段3` BETWEEN '條件字段3的值1' AND '條件字段3的值2';

示例:

7.2.4 帶IS NULL關(guān)鍵字的空值查詢(xún)

語(yǔ)法:

WHERE `字段` IS NULL

示例:

說(shuō)明:
IS NULL是用于篩選表中某個(gè)字段的值為NULL的數(shù)據(jù)。

7.2.5 帶IN關(guān)鍵字的集合查詢(xún)

語(yǔ)法:

WHERE `字段` IN ('內(nèi)容1','內(nèi)容2','內(nèi)容3'……,'內(nèi)容n')

示例:

說(shuō)明:
IN關(guān)鍵字用于篩選某個(gè)字段滿(mǎn)足某些條件的數(shù)據(jù)。

7.2.6 帶LIKE關(guān)鍵字的模糊查詢(xún)

語(yǔ)法:

WHERE `字段` LIKE '%部分內(nèi)容%'
WHERE `字段` LIKE '%部分內(nèi)容'
WHERE `字段` LIKE '部分內(nèi)容%'

示例:

說(shuō)明:
LIKE關(guān)鍵字用于篩選某個(gè)字段包括某一部分內(nèi)容的所有數(shù)據(jù)。

7.3 數(shù)據(jù)查詢(xún)結(jié)果排序

7.3.1 按升序排序

關(guān)鍵字:

ORDER BY `字段`;
ORDER BY `字段` ASC;

示例:

說(shuō)明:
MySQL按照升序的方式默認(rèn)排序。

7.3.2 按倒序排序

關(guān)鍵字:

ORDER BY `字段` DESC

示例:

說(shuō)明:
如果需要按照降序排序,需要在代碼中明確指定。

7.4 限制數(shù)據(jù)記錄查詢(xún)數(shù)量

7.4.1 不指定初始位置

關(guān)鍵字:

LIMIT n
n: 數(shù)據(jù)條數(shù)

示例:
數(shù)據(jù)庫(kù)里所有數(shù)據(jù):

查詢(xún)語(yǔ)句:

查詢(xún)結(jié)果:

說(shuō)明:
limit用于限制查詢(xún)需要返回的數(shù)據(jù)條數(shù)。

7.4.2 指定初始位置

關(guān)鍵字:

LIMIT [m,] n
m: 下標(biāo)起始位置
n: 數(shù)據(jù)條數(shù)

示例:
數(shù)據(jù)庫(kù)里所有數(shù)據(jù):

查詢(xún)語(yǔ)句:

查詢(xún)結(jié)果:

說(shuō)明:
LIMIT m, n 指的是從m下表開(kāi)始,返回n條數(shù)據(jù)(數(shù)據(jù)表的下表從0開(kāi)始)

7.5 統(tǒng)計(jì)函數(shù)和分組數(shù)據(jù)查詢(xún)

7.5.1 MySQL支持的統(tǒng)計(jì)函數(shù)

  • MAX
    取得某個(gè)字段的最大值
  • MIN
    取得某個(gè)字段的最小值
  • COUNT
    取得查詢(xún)記錄的總條數(shù)
  • AVG
    查詢(xún)某個(gè)字段的平均值
  • SUM
    查詢(xún)某個(gè)字段的合計(jì)

7.5.2 分組數(shù)據(jù)統(tǒng)計(jì)——單字段分組查詢(xún)

關(guān)鍵字:

GROUP BY `字段`

示例:
訂單表的數(shù)據(jù)如下:

SODevice指的是客戶(hù)使用什么設(shè)備下的訂單,如果需要統(tǒng)計(jì)使用移動(dòng)端(Mobile)和PC端的各自的訂單數(shù)量并按照倒序排序時(shí),就相當(dāng)于按照訂單下單設(shè)備(SODevice)的類(lèi)型進(jìn)行分組后,再計(jì)算不同設(shè)備的合計(jì)。

SQL語(yǔ)句如下:

Paste_Image.png

結(jié)果如下:

說(shuō)明:

  • group by常用和聚合函數(shù)一塊使用。
  • select指定的字段,要么就要包含在Group By語(yǔ)句的后面,作為分組的依據(jù);要么就要被包含在聚合函數(shù)中。

7.5.3 分組數(shù)據(jù)統(tǒng)計(jì)——多字段分組查詢(xún)

關(guān)鍵字:

GROUP BY `字段1`, `字段2`, ……, `字段n` 

示例:
訂單表的數(shù)據(jù)如下:

需要查詢(xún)出每個(gè)省下的每個(gè)市在5月29日到5月30日(含5月30日)的訂單總數(shù),并按照訂單總數(shù)倒序排序。

SQL語(yǔ)句如下:

查詢(xún)結(jié)果如下:

7.5.4 分組數(shù)據(jù)統(tǒng)計(jì)——實(shí)現(xiàn)HAVING子句限定分組查詢(xún)

關(guān)鍵字:

HAVING `字段1` option 'value'

示例:
訂單明細(xì)表的數(shù)據(jù)如下:

需要從訂單明細(xì)表取得2017年5月29日到2017年5月30日(含5月30日)商品銷(xiāo)售數(shù)量大于2的每個(gè)商品的銷(xiāo)售數(shù)量,并按照銷(xiāo)售數(shù)量倒序排序。

SQL語(yǔ)句:

說(shuō)明:
HAVING相當(dāng)于WHERE,不同的是HAVING過(guò)濾的是經(jīng)過(guò)分組統(tǒng)計(jì)后的數(shù)據(jù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • SQL語(yǔ)言基礎(chǔ) 本章,我們將會(huì)重點(diǎn)探討SQL語(yǔ)言基礎(chǔ),學(xué)習(xí)用SQL進(jìn)行數(shù)據(jù)庫(kù)的基本數(shù)據(jù)查詢(xún)操作。另外請(qǐng)注意本章的S...
    厲鉚兄閱讀 5,462評(píng)論 2 46
  • 原文:https://my.oschina.net/liuyuantao/blog/751438 查詢(xún)集API 參...
    陽(yáng)光小鎮(zhèn)少爺閱讀 3,967評(píng)論 0 8
  • SQL與MySQL簡(jiǎn)介 數(shù)據(jù)庫(kù)基礎(chǔ) 從SQL的角度來(lái)看,數(shù)據(jù)庫(kù)就是一個(gè)以某種有組織的方式存儲(chǔ)的數(shù)據(jù)集合。我們可以采...
    heming閱讀 3,575評(píng)論 1 8
  • 每次回家都會(huì)傳來(lái)光頭強(qiáng)、超級(jí)飛俠、鎧甲勇士等劇情播放音樂(lè),我也習(xí)以為常了。那是我四歲的孩子在看電視。也是他最大興趣...
    飄逸R閱讀 459評(píng)論 0 1
  • 冉冉 文 吊蘭是朋友贈(zèng)予我的,剛來(lái)的時(shí)候已經(jīng)是含苞待放了,幾天過(guò)去,今晨一看,吊蘭花已開(kāi)。吊蘭的花語(yǔ)是無(wú)奈而又給人...
    冉冉ranran閱讀 1,047評(píng)論 0 1

友情鏈接更多精彩內(nèi)容