日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql查询数学成绩信息_【MySQL】:利用DQL查询表中的数据

發布時間:2023/12/20 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql查询数学成绩信息_【MySQL】:利用DQL查询表中的数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DQL(Data Query Language):數據查詢語言,用以查詢數據庫中表的記錄(數據)。

CREATE TABLE exam(

id INT PRIMARY KEY AUTO_INCREMENT,

NAME VARCHAR(20) NOT NULL,

chinese DOUBLE,

math DOUBLE,

english DOUBLE

);

INSERT INTO exam VALUES(NULL,'關羽',85,76,70);

INSERT INTO exam VALUES(NULL,'張飛',70,75,70);

INSERT INTO exam VALUES(NULL,'趙云',90,65,95);

INSERT INTO exam VALUES (NULL,'黃忠',NULL,88,76);

一、基本查詢

select關鍵字后面跟著的是字段名,*表示查詢結果顯示所有字段。

1、查詢所有信息與指定信息

-- 查詢表中所有學生的信息

SELECT * FROM exam;

SELECT id,NAME,chinese,math,english FROM exam;

-- 查詢表中所有學生的姓名和英語成績

SELECT NAME,english FROM exam;

2、清除重復值

-- 過濾重復的英語成績

SELECT DISTINCT english FROM exam;

3、查詢結果參與運算

參與運算的需要是數值類型。

-- 計算總分并以score顯示 也可省去 AS (如果有null值,結果也會為null,可用ifnull(x,y))

SELECT NAME,math+chinese+english AS score FROM exam;

-- 查詢所有成績的總和,如果null用0代替。

SELECT NAME,IFNULL(math,0)+IFNULL(chinese,0)+IFNULL(english,0) AS score FROM exam;

二、條件查詢

SELECT 字段名 FROM 表名 WHERE 條件

1、比較運算符

-- 查詢姓名為張飛的成績

SELECT * FROM exam WHERE NAME='張飛';

-- 查詢英語成績大于90的同學

SELECT * FROM exam WHERE english>90;

-- 查詢數學成績為75,76的同學 IN(集合)

SELECT NAME,math FROM exam WHERE math IN(75,76);

-- 查詢英語成績為null的同學 is null 而不是 = null

SELECT NAME,chinese FROM exam WHERE chinese IS NULL;

-- 查詢英語成績[70,95]區間內的同學 BETWEEN..AND

SELECT NAME,english FROM exam WHERE english BETWEEN 70 AND 95;

-- 查詢所有姓張的同學 模糊查詢 LIKE pattern

SELECT * FROM exam WHERE NAME LIKE '張%';

MySQL通配符

%:匹配任意多個字符串。

_:匹配一個字符。

2、邏輯運算符

-- 查詢數學大于70,語文大于80的同學

SELECT * FROM exam WHERE math>70 AND chinese>80;

-- 查詢語文成績不大于80的同學

SELECT * FROM exam WHERE NOT(chinese>80);

-- 查詢數學成績大于90,或者語文成績大于80的同學

SELECT * FROM exam WHERE math>90 OR chinese>80;

order by排序

1、單列排序

-- 排序查詢 select column1,column2.. from table_name order by column_name asc|desc

SELECT NAME,IFNULL(chinese,0) FROM exam ORDER BY chinese;-- 默認升序asc

SELECT NAME,IFNULL(chinese,0) FROM exam ORDER BY chinese DESC;-- 指定降序desc

2、組合排序

-- 查詢所有同學信息,英語默認升序,英語成績相同的情況下,按數學成績降序

SELECT * FROM exam ORDER BY english,math DESC;

聚合函數

聚合函數將會忽略空值,與此前不同,聚合函數可處理一列的值:求和,求平均等等。

1、COUNT:計算個數

-- 統計班級共有幾個學生

SELECT COUNT(id) id_count FROM exam;

SELECT COUNT(1) FROM exam;

SELECT COUNT(*) FROM exam;

-- 統計數學成績大于80的學生個數

SELECT COUNT(math) FROM exam WHERE math>80;

2、SUM:求和

-- 統計數學總成績

SELECT SUM(math) FROM exam;

-- 統計語文、英語、數學各科的總成績

SELECT SUM(math),SUM(chinese),SUM(english) FROM exam;

-- 統計語文、英語、數學各科的總成績

SELECT SUM(IFNULL(math,0)+IFNULL(chinese,0)+IFNULL(english,0)) AS all_sum FROM exam;

3、AVG:求平均

-- 查詢數學平均分

SELECT AVG(math) FROM exam;

4、MAX/MIN:最大/最小值

-- 查詢最小的語文成績

SELECT NAME,MIN(IFNULL(chinese,0)) FROM exam;

-- 查詢最大的英語成績

SELECT NAME,MAX(english) FROM exam;

總結

以上是生活随笔為你收集整理的mysql查询数学成绩信息_【MySQL】:利用DQL查询表中的数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。