CREATE TABLE student(
id INT, -- id编号
NAME VARCHAR(20), -- 姓名
chinese INT, -- 语文
english INT, -- 英语
math INT -- 数学
);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(1,'行哥',89,78,90);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(2,'潘金莲',67,53,95);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(3,'凤姐',87,78,77);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(4,'旺财',88,98,92);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(5,'白小黑',82,84,67);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(6,'白小黄',55,85,45);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(7,'范蹦蹦',75,65,30);
1.查询表中所有学生的信息。
SELECT * FROM student;
2 查询表中所有学生的姓名和英语成绩。
SELECT
NAME,english
FROM
student;
3 过滤表中重复数据。(去重的关键字 DISTINCT)
SELECT DISTINCT id,NAME,chinese,english,math
FROM student;
4.统计每个学生的总分
SELECT
NAME 姓名,
(chinese +
english +
math ) AS 总成绩
FROM student;
5.在所有学生总分数上加10分特长分。
SELECT
NAME 姓名,
(chinese +
english +
math +10 ) AS 总成绩包含特长分
FROM student;
6.使用别名表示学生分数。
SELECT
NAME 姓名,
chinese 语文,
english 英语,
math 数学
FROM student;
7.查询姓名为行哥的学生成绩
SELECT
NAME 姓名,
chinese 语文,
english 英语,
math 数学
FROM student
WHERE NAME = '行哥';
8.查询英语成绩大于90分的同学
SELECT
NAME 姓名,
english 英语
FROM
student
WHERE english > 90 ;
9.查询总分大于200分的所有同学
SELECT
NAME '姓名',
(chinese +
english +
math ) AS '总成绩'
FROM student
WHERE (chinese +
english +
math ) > 200;
10.查询英语分数在 80-90之间的同学。
SELECT
NAME 姓名,
english 英语
FROM
student
WHERE english >= 80 AND english <=90 ;
11.查询数学分数为89,90,91的同学。
SELECT
NAME 姓名,
math 数学
FROM
student
WHERE math=89 OR math=90 OR math=91 ;
12.查询所有姓白的学生英语成绩。
SELECT
english,
NAME
FROM
student
WHERE NAME LIKE '白%' ;
13.查询数学分>80并且语文分>80的同学
SELECT
NAME 姓名,
math 数学,
chinese 语文
FROM
student
WHERE math>80 AND chinese>80 ;
14.查询英语>80或者总分>200的同学
SELECT
NAME 姓名,
math 数学,
chinese 语文,
english 英语,
(math+chinese+english) AS 总分
FROM
student
WHERE english>80 AND (math+chinese+english)>200 ;
15.对数学成绩升序排序
SELECT
NAME 姓名,
math 数学,
chinese 语文,
english 英语,
(math+chinese+english) AS 总分
FROM
student ORDER
BY math DESC;
16.对总分降序排序,然后再按数学从高到低的顺序输出 (预习排序查询)
SELECT
NAME 姓名,
math 数学,
chinese 语文,
english 英语,
(math+chinese+english) AS 总分
FROM
student ORDER
BY (math+chinese+english) DESC, math DESC;
17.对姓白的学生成绩排序输出(排序规则自己定义) (模糊查询+排序查询)
SELECT
NAME 姓名,
math 数学,
chinese 语文,
english 英语,
(math+chinese+english) AS 总分
FROM
student
WHERE NAME LIKE '白%'
ORDER
BY (math+chinese+english) DESC, math DESC;
18.模糊查询出学生姓名中第二个字是金的学生信息
SELECT
NAME 姓名,
math 数学,
chinese 语文,
english 英语,
(math+chinese+english) AS 总分
FROM
student
WHERE NAME LIKE '_金%' ;
19.查询出英语成绩平均分是多少 (聚合函数的平均avg函数)
SELECT
AVG(english) 英语平均分
FROM
student;
20.查询出数学总分是多少
SELECT
SUM(math) 数学总分
FROM
student;
21.查询学生表中有多少条记录(聚合函数的count(字段名称))
SELECT
COUNT(math)
FROM
student ;
SELECT * FROM student;