国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL數(shù)據(jù)庫基礎(chǔ)(十):DQL數(shù)據(jù)查詢語言

這篇具有很好參考價值的文章主要介紹了MySQL數(shù)據(jù)庫基礎(chǔ)(十):DQL數(shù)據(jù)查詢語言。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

MySQL數(shù)據(jù)庫基礎(chǔ)(十):DQL數(shù)據(jù)查詢語言,MySQL,數(shù)據(jù)庫,mysql,sql

文章目錄

DQL數(shù)據(jù)查詢語言

一、數(shù)據(jù)集準備

二、select查詢

三、簡單查詢

四、條件查詢

1、比較查詢

2、范圍查詢

3、邏輯查詢

4、模糊查詢

5、非空查詢

五、排序查詢

六、聚合查詢

七、分組查詢與having子句

1、分組查詢介紹

2、group by的使用

3、group by + 聚合函數(shù)的使用

4、group by + having的使用

八、limit分頁查詢

九、總結(jié)


DQL數(shù)據(jù)查詢語言

一、數(shù)據(jù)集準備

CREATE TABLE product
(
    pid         INT PRIMARY KEY,
    pname       VARCHAR(20),
    price       DOUBLE,
    category_id VARCHAR(32)
);

插入數(shù)據(jù):

INSERT INTO product VALUES (1,'聯(lián)想',5000,'c001');
INSERT INTO product VALUES (2,'海爾',3000,'c001');
INSERT INTO product VALUES (3,'雷神',5000,'c001');
INSERT INTO product VALUES (4,'杰克瓊斯',800,'c002');
INSERT INTO product VALUES (5,'真維斯',200,'c002');
INSERT INTO product VALUES (6,'花花公子',440,'c002');
INSERT INTO product VALUES (7,'勁霸',2000,'c002');
INSERT INTO product VALUES (8,'香奈兒',800,'c003');
INSERT INTO product VALUES (9,'相宜本草',200,'c003');
INSERT INTO product VALUES (10,'面霸',5,'c003');
INSERT INTO product VALUES (11,'好想你棗',56,'c004');
INSERT INTO product VALUES (12,'香飄飄奶茶',1,'c005');
INSERT INTO product VALUES (13,'海瀾之家',1,'c002');

二、select查詢

# 根據(jù)某些條件從某個表中查詢指定字段的內(nèi)容
格式:select [distinct]*| 列名,列名 from 表where 條件

三、簡單查詢

# 1.查詢所有的商品.  
select *  from product;
# 2.查詢商品名和商品價格. 
select pname,price from product;
# 3.查詢結(jié)果是表達式(運算查詢):將所有商品的價格+10元進行顯示.
select pname,price+10 from product;

四、條件查詢

MySQL數(shù)據(jù)庫基礎(chǔ)(十):DQL數(shù)據(jù)查詢語言,MySQL,數(shù)據(jù)庫,mysql,sql

1、比較查詢

# 查詢商品名稱為“花花公子”的商品所有信息:
SELECT * FROM product WHERE pname = '花花公子';
# 查詢價格為800商品
SELECT * FROM product WHERE price = 800;
# 查詢價格不是800的所有商品
SELECT * FROM product WHERE price != 800;
SELECT * FROM product WHERE price <> 800;
# 查詢商品價格大于60元的所有商品信息
SELECT * FROM product WHERE price > 60;
# 查詢商品價格小于等于800元的所有商品信息
SELECT * FROM product WHERE price <= 800;

2、范圍查詢

# 查詢商品價格在200到1000之間所有商品
SELECT * FROM product WHERE price BETWEEN 200 AND 1000;
# 查詢商品價格是200或800的所有商品
SELECT * FROM product WHERE price IN (200,800);

3、邏輯查詢

# 查詢商品價格在200到1000之間所有商品
SELECT * FROM product WHERE price >= 200 AND price <=1000;
# 查詢商品價格是200或800的所有商品
SELECT * FROM product WHERE price = 200 OR price = 800;
# 查詢價格不是800的所有商品
SELECT * FROM product WHERE NOT(price = 800);

4、模糊查詢

# 查詢以'香'開頭的所有商品
SELECT * FROM product WHERE pname LIKE '香%';
# 查詢第二個字為'想'的所有商品
SELECT * FROM product WHERE pname LIKE '_想%';

5、非空查詢

# 查詢沒有分類的商品
SELECT * FROM product WHERE category_id IS NULL;
# 查詢有分類的商品
SELECT * FROM product WHERE category_id IS NOT NULL;

五、排序查詢

# 通過order by語句,可以將查詢出的結(jié)果進行排序。暫時放置在select語句的最后。
格式:SELECT * FROM 表名 ORDER BY 排序字段 ASC|DESC;
ASC 升序 (默認)
DESC 降序

# 1.使用價格排序(降序)
SELECT * FROM product ORDER BY price DESC;
# 2.在價格排序(降序)的基礎(chǔ)上,以分類排序(降序)
SELECT * FROM product ORDER BY price DESC,category_id DESC;

六、聚合查詢

之前我們做的查詢都是橫向查詢,它們都是根據(jù)條件一行一行的進行判斷,而使用聚合函數(shù)查詢是縱向查詢,它是對一列的值進行計算,然后返回一個單一的值;另外聚合函數(shù)會忽略空值。

學(xué)習(xí)如下五個聚合函數(shù):

聚合函數(shù) 作用
count() 統(tǒng)計指定列不為NULL的記錄行數(shù);
sum() 計算指定列的數(shù)值和,如果指定列類型不是數(shù)值類型,則計算結(jié)果為0
max() 計算指定列的最大值,如果指定列是字符串類型,使用字符串排序運算;
min() 計算指定列的最小值,如果指定列是字符串類型,使用字符串排序運算;
avg() 計算指定列的平均值,如果指定列類型不是數(shù)值類型,則計算結(jié)果為0

案例演示:

# 1、查詢商品的總條數(shù)
SELECT COUNT(*) FROM product;
# 2、查詢價格大于200商品的總條數(shù)
SELECT COUNT(*) FROM product WHERE price > 200;
# 3、查詢分類為'c001'的所有商品的總和
SELECT SUM(price) FROM product WHERE category_id = 'c001';
# 4、查詢分類為'c002'所有商品的平均價格
SELECT AVG(price) FROM product WHERE categ ory_id = 'c002';
# 5、查詢商品的最大價格和最小價格
SELECT MAX(price),MIN(price) FROM product;

七、分組查詢與having子句

1、分組查詢介紹

分組查詢就是將查詢結(jié)果按照指定字段進行分組,字段中數(shù)據(jù)相等的分為一組。

分組查詢基本的語法格式如下:

GROUP BY 列名 [HAVING 條件表達式] [WITH ROLLUP]

說明:

  • 列名: 是指按照指定字段的值進行分組。

  • HAVING 條件表達式: 用來過濾分組后的數(shù)據(jù)。

  • WITH ROLLUP:在所有記錄的最后加上一條記錄,顯示select查詢時聚合函數(shù)的統(tǒng)計和計算結(jié)果

2、group by的使用

group by可用于單個字段分組,也可用于多個字段分組

-- 根據(jù)gender字段來分組
select gender from students group by gender;
-- 根據(jù)name和gender字段進行分組
select name, gender from students group by name, gender;

① group by可以實現(xiàn)去重操作

② group by的作用是為了實現(xiàn)分組統(tǒng)計(group by + 聚合函數(shù))

3、group by + 聚合函數(shù)的使用

-- 統(tǒng)計不同性別的人的平均年齡
select gender,avg(age) from students group by gender;
-- 統(tǒng)計不同性別的人的個數(shù)
select gender,count(*) from students group by gender;

MySQL數(shù)據(jù)庫基礎(chǔ)(十):DQL數(shù)據(jù)查詢語言,MySQL,數(shù)據(jù)庫,mysql,sql

4、group by + having的使用

having作用和where類似都是過濾數(shù)據(jù)的,但having是過濾分組數(shù)據(jù)的,只能用于group by

-- 根據(jù)gender字段進行分組,統(tǒng)計分組條數(shù)大于2的
select gender,count(*) from students group by gender having count(*)>2;

?案例演示:

#1 統(tǒng)計各個分類商品的個數(shù)
SELECT category_id ,COUNT(*) FROM product GROUP BY category_id ;

#2 統(tǒng)計各個分類商品的個數(shù),且只顯示個數(shù)大于1的信息
SELECT category_id ,COUNT(*) FROM product GROUP BY category_id HAVING COUNT(*) > 1;

八、limit分頁查詢

分頁查詢在項目開發(fā)中常見,由于數(shù)據(jù)量很大,顯示屏長度有限,因此對數(shù)據(jù)需要采取分頁顯示方式。例如數(shù)據(jù)共有30條,每頁顯示5條,第一頁顯示1-5條,第二頁顯示6-10條。

格式:

SELECT 字段1,字段2... FROM 表名 LIMIT M,N
M: 整數(shù),表示從第幾條索引開始,計算方式 (當前頁-1)*每頁顯示條數(shù)
N: 整數(shù),表示查詢多少條數(shù)據(jù)
SELECT 字段1,字段2... FROM 表明 LIMIT 0,5
SELECT 字段1,字段2... FROM 表明 LIMIT 5,5

九、總結(jié)

條件查詢:select *|字段名 form 表名 where 條件;
排序查詢:SELECT * FROM 表名 ORDER BY 排序字段 ASC|DESC;
聚合查詢函數(shù):count(),sum(),max(),min(),avg()。
分組查詢:SELECT 字段1,字段2… FROM 表名 GROUP BY 分組字段 HAVING 分組條件;
分頁查詢:
SELECT 字段1,字段2... FROM 表名 LIMIT M,N
M: 整數(shù),表示從第幾條索引開始,計算方式 (當前頁-1)*每頁顯示條數(shù)
N: 整數(shù),表示查詢多少條數(shù)據(jù)


  • ??博客主頁:https://lansonli.blog.csdn.net

  • ??歡迎點贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正!

  • ??本文由 Lansonli 原創(chuàng),首發(fā)于 CSDN博客??

  • ??停下休息的時候不要忘了別人還在奔跑,希望大家抓緊時間學(xué)習(xí),全力奔赴更美好的生活?文章來源地址http://www.zghlxwxcb.cn/news/detail-832415.html

到了這里,關(guān)于MySQL數(shù)據(jù)庫基礎(chǔ)(十):DQL數(shù)據(jù)查詢語言的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • MySQL數(shù)據(jù)庫基礎(chǔ)之MySQL查詢基礎(chǔ)

    MySQL數(shù)據(jù)庫基礎(chǔ)之MySQL查詢基礎(chǔ)

    從今天開始,本系列內(nèi)容就帶各位小伙伴學(xué)習(xí)數(shù)據(jù)庫技術(shù) 。數(shù)據(jù)庫技術(shù)是Java開發(fā)中必不可少的一部分知識內(nèi)容。也是非常重要的技術(shù)。本系列教程由淺入深, 全面講解數(shù)據(jù)庫體系。 非常適合零基礎(chǔ)的小伙伴來學(xué)習(xí)。 全文大約【 1212】 字,不說廢話,只講可以讓你學(xué)到技術(shù)、

    2024年02月06日
    瀏覽(33)
  • MySQL數(shù)據(jù)庫基礎(chǔ)3-基礎(chǔ)查詢

    MySQL數(shù)據(jù)庫基礎(chǔ)3-基礎(chǔ)查詢

    創(chuàng)建表、單行插入、多行插入就不重復(fù)介紹了。 當我們的程序每天都會產(chǎn)生大量的數(shù)據(jù),而這些數(shù)據(jù)都是前一天或者再之前的數(shù)據(jù)更新產(chǎn)生,我們也只需要保存其中一條,此時就考慮用新的數(shù)據(jù)替換老的數(shù)據(jù)。 語法: replace into tablename values(); 如果主鍵或者唯一鍵不沖突,則

    2024年02月05日
    瀏覽(22)
  • 數(shù)據(jù)庫基礎(chǔ)之 - MySQL條件查詢

    數(shù)據(jù)庫基礎(chǔ)之 - MySQL條件查詢

    從今天開始,本系列內(nèi)容就帶各位小伙伴學(xué)習(xí)數(shù)據(jù)庫技術(shù)。 數(shù)據(jù)庫技術(shù)是Java開發(fā)中必不可少的一部分知識內(nèi)容。也是非常重要的技術(shù)。本系列教程由淺入深, 全面講解數(shù)據(jù)庫體系。 非常適合零基礎(chǔ)的小伙伴來學(xué)習(xí)。 全文大約【 1263】 字,不說廢話,只講可以讓你學(xué)到技術(shù)、

    2024年02月06日
    瀏覽(20)
  • MySQL數(shù)據(jù)庫基礎(chǔ)(三):多表查詢,子查詢,開窗函數(shù)

    MySQL數(shù)據(jù)庫基礎(chǔ)(三):多表查詢,子查詢,開窗函數(shù)

    表與表之間的關(guān)系 在SQL語句中,數(shù)據(jù)表與數(shù)據(jù)表之間,如果存在關(guān)系,一般一共有3種情況: ① 一對一關(guān)系(高級) 比如有A、B兩張表,A表中的每一條數(shù)據(jù),在B表中有一條唯一的數(shù)據(jù)與之對應(yīng)。 用戶表user user_id(用戶編號) 賬號username 密碼password 001 admin admin888 002 itheima

    2024年02月12日
    瀏覽(26)
  • DML操作表和DQL查詢表(學(xué)會并使用數(shù)據(jù)庫day2)

    DML操作是用于對表中的記錄進行增刪改操作。 1 .插入操作 解析: INSERT INTO 表名:表示往哪張表中添加數(shù)據(jù) (字段名 1, 字段名 2, …):要給哪些字段設(shè)置值 VALUES (值 1, 值 2, …):設(shè)置具體的值 插入全部字段–方法一(所有的字段名都寫出來) 插入全部字段–方法二(不寫字段

    2024年02月15日
    瀏覽(60)
  • MySQL數(shù)據(jù)庫——MySQL WHERE:條件查詢數(shù)據(jù)

    在 MySQL 中,如果需要有條件的從數(shù)據(jù)表中查詢數(shù)據(jù),可以使用?WHERE?來指定查詢條件。 使用 WHERE 的語法格式如下: WHERE 查詢條件 查詢條件可以是: 帶比較運算符和邏輯運算符的查詢條件 帶 BETWEEN AND 的查詢條件 帶 IS NULL 的查詢條件 帶 IN

    2024年02月03日
    瀏覽(29)
  • MySQL數(shù)據(jù)庫:數(shù)據(jù)庫的約束以及數(shù)據(jù)的聚合、聯(lián)合查詢

    MySQL數(shù)據(jù)庫:數(shù)據(jù)庫的約束以及數(shù)據(jù)的聚合、聯(lián)合查詢

    目錄 一.關(guān)系模型的簡要概述 二.數(shù)據(jù)庫的約束? 2.1約束類型 ? ? ? ??2.2NULL約束 2.3?UNIQUE:唯一約束 2.4 默認約束 2.5 PRIMARY KEY:主鍵約束 2.6 FOREIGN KEY:外鍵約束 2.7 CHECK約束 三.高效率查詢 3.1高效率查詢的分類 3.2聚合查詢 3.2.1聚合函數(shù) 3.2.2 GROUP BY子句 3.2.3HAVING 3.3.聯(lián)合查詢

    2024年02月10日
    瀏覽(51)
  • MySQL數(shù)據(jù)庫,聚合查詢

    MySQL數(shù)據(jù)庫,聚合查詢

    目錄 1、聚合查詢 1.1聚合函數(shù) 1.1.1count函數(shù) 1.1.2sum函數(shù) 1.1.3avg函數(shù) 1.1.4max函數(shù) 1.1.5min函數(shù) 1.2group by子句 1.3having 聚合函數(shù)查詢又叫函數(shù)查詢,它是通過一些特定的函數(shù)根據(jù)需求來查詢相關(guān)的信息,常見的聚合函數(shù)為: COUNT - 求總數(shù),不包含某字段為null值 SUM - 求和,不包含某字

    2023年04月21日
    瀏覽(34)
  • MySQL數(shù)據(jù)庫,聯(lián)合查詢

    MySQL數(shù)據(jù)庫,聯(lián)合查詢

    目錄 1. 聯(lián)合查詢 1.1 內(nèi)查詢 1.2 外查詢 1.3 自連接 1.4 子查詢 1.5 合并查詢 聯(lián)合查詢,簡單的來講就是多個表聯(lián)合起來進行查詢。這樣的查詢在我們實際的開發(fā)中會用到很多,因此會用 笛卡爾積 的概念。 啥是笛卡爾積?兩張表經(jīng)過笛卡爾積后得到的新表的列數(shù)是兩表列數(shù)之和

    2023年04月23日
    瀏覽(38)
  • 數(shù)據(jù)庫系統(tǒng)原理及MySQL應(yīng)用教程實驗四MySQL數(shù)據(jù)庫表數(shù)據(jù)的查詢操作

    數(shù)據(jù)庫系統(tǒng)原理及MySQL應(yīng)用教程實驗四MySQL數(shù)據(jù)庫表數(shù)據(jù)的查詢操作

    1.掌握SELECT 語句的基本語法格式。 2.掌握SELECT 語句的執(zhí)行方法。 3.掌握SELECT 語句的?GROUP BY 和?ORDER BY 子句的作用。 驗證性實驗:在公司的部門員工管理數(shù)據(jù)庫的bumen表和yuangong表上進行信息查詢。 設(shè)計性試驗:將在student表和score表上進行查詢。 ( 一 ) 驗證性實驗 在

    2024年02月05日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包