Mysql 一、练习一二、练习二 一、练习一 这里首先将素材创建完毕,首先创建一个数据库并使用,这里我创建的数据库名为worker: 紧接着我们创建数据库表并创建表结构: 查看表结构
这里首先将素材创建完毕,首先创建一个数据库并使用,这里我创建的数据库名为worker:
紧接着我们创建数据库表并创建表结构:
查看表结构:
接着我们导入数据:
这里我们可以看到素材已经创建完毕,这里我们进行之后的操作:
实现代码:
SELECT *FROM worker;
执行结果:
实现代码:
SELECT DISTINCT 部门号FROM worker;
执行结果:
实现代码:
SELECT COUNT(*) AS 职工人数FROM worker;
执行结果:
实现代码:
SELECT MAX(工资) AS 最高工资,MIN(工资) AS 最低工资FROM worker;
执行结果:
实现代码:
SELECT AVG(工资) AS '平均工资', SUM(工资) AS '总工资'FROM worker;
执行结果:
实现代码:
CREATE TABLE 工作日期表 ASSELECT 职工号, 姓名, 工作时间FROM worker;
执行结果:
实现代码:
SELECT 2023 -YEAR(出生日期) AS 年龄 FROM worker;
执行结果:
实现代码:
SELECT 职工号, 姓名, 出生日期FROM workerWHERE 姓名 LIKE '刘%';
执行结果:
实现代码:
SELECT 姓名,工作时间FROM workerWHERE 出生日期 < '1960-01-01';
执行结果:
实现代码:
SELECT 姓名FROM workerWHERE 工资 BETWEEN 1000.00 AND 2000.00;
执行结果:
实现代码:
SELECT 姓名FROM workerWHERE 姓名 LIKE '陈%' OR 姓名 LIKE '李%';
执行结果:
实现代码:
SELECT 职工号, 姓名, CASE WHEN 政治面貌 = '党员' THEN '是' ELSE '否' END AS '党员'FROM workerWHERE 部门号 IN (102,103);
执行结果:
实现代码:
SELECT *FROM workerORDER BY 出生日期;
执行结果:
实现代码:
SELECT 职工号, 姓名FROM workerORDER BY 工资 DESCLIMIT 3;
执行结果:
实现代码:
SELECT 部门号, COUNT(*) AS '党员人数'FROM workerWHERE 政治面貌 = '党员'GROUP BY 部门号;
执行结果:
实现代码:
SELECT 部门号, SUM(工资) AS '总工资', AVG(工资) AS '平均工资'FROM workerGROUP BY 部门号;
执行结果:
实现代码:
SELECT 部门号, COUNT(*) AS '总人数'FROM workerGROUP BY 部门号HAVING COUNT(*) > 4;
执行结果:
这里首先将素材创建完毕,首先创建一个数据库并使用,这里我创建的数据库名为worker,依旧使用上一个练习的数据库。
紧接着我们创建数据库表并创建表结构,查看表结构:
接着我们导入数据:
这里我们可以看到素材已经创建完毕,这里我们进行之后的操作:
实现代码:
SELECT * FROM student;
执行结果:
实现代码:
SELECT * FROM student LIMIT 1,3;
执行结果:
实现代码:
SELECT id, name, department FROM student;
执行结果:
实现代码:
SELECT * FROM student WHERE department IN ('计算机系', '英语系');
执行结果:
实现代码:
SELECT * FROM student WHERE YEAR(CURRENT_DATE) - birth BETWEEN 18 AND 22;
执行结果:
实现代码:
SELECT department, COUNT(*) AS '人数' FROM student GROUP BY department;
执行结果:
实现代码:
SELECT c_name, MAX(grade) AS '最高分' FROM score GROUP BY c_name;
执行结果:
实现代码:
SELECT c_name, grade FROM score WHERE stu_id = (SELECT id FROM student WHERE name = '李四');
执行结果:
实现代码:
SELECT student.id, student.name, student.department, score.c_name, score.gradeFROM studentJOIN score ON student.id = score.stu_id;
执行结果:
实现代码:
SELECT student.id, student.name, SUM(score.grade) AS '总成绩'FROM studentJOIN score ON student.id = score.stu_idGROUP BY student.id, student.name;
执行结果:
实现代码:
SELECT c_name, AVG(grade) AS '平均成绩' FROM score GROUP BY c_name;
执行结果:
实现代码:
SELECT student.*FROM studentJOIN score ON student.id = score.stu_idWHERE score.c_name = '计算机' AND score.grade < 95;
执行结果:
实现代码:
SELECT student.*FROM studentWHERE id IN ( SELECT s1.stu_id FROM score AS s1 JOIN score AS s2 ON s1.stu_id = s2.stu_id WHERE s1.c_name = '计算机' AND s2.c_name = '英语');
执行结果:
实现代码:
SELECT student.name, score.c_name, score.gradeFROM studentJOIN score ON student.id = score.stu_idWHERE score.c_name = '计算机'ORDER BY score.grade DESC;
执行结果:
实现代码:
SELECT id FROM studentUNIONSELECT stu_id FROM score;
执行结果:
实现代码:
SELECT student.name, student.department, score.c_name, score.gradeFROM studentJOIN score ON student.id = score.stu_idWHERE student.name LIKE '张%' OR student.name LIKE '王%';
执行结果:
实现代码:
SELECT student.name, YEAR(CURRENT_DATE) - student.birth AS '年龄', student.department, score.c_name, score.gradeFROM studentJOIN score ON student.id = score.stu_idWHERE student.address LIKE '%湖南%';
执行结果:
来源地址:https://blog.csdn.net/weixin_63172698/article/details/133696216
--结束END--
本文标题: MySQL——单表与多表查询练习
本文链接: https://www.lsjlt.com/news/463939.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-14
2024-05-14
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0