在IT行业的数据库管理与开发领域,SQL(Structured Query Language)是一种极为重要的技能,尤其是在处理大量数据和复杂查询时。以下是对“SQL查询练习”中所提及的几个关键知识点的详细解析,这些知识点围绕着学生、课程和成绩三个核心表进行。 ### 1.多表联接查询在学生表(`Member`)、课程表和成绩表(`Score`)之间进行联接查询是本题的核心。为了查询各个学生特定课程的成绩,如语文、数学、英语、历史,需要使用多表联接(JOIN)。具体来说,可以使用INNER JOIN或LEFT JOIN来连接`Member`表和`Score`表,然后进一步联接课程表,以确保每个学生的所有课程成绩都能被正确匹配。 ```sql SELECT M.MName AS姓名, SUM(CASE WHEN F.FName = '语文' THEN S.Score ELSE NULL END) AS语文, SUM(CASE WHEN F.FName = '数学' THEN S.Score ELSE NULL END) AS数学, SUM(CASE WHEN F.FName = '英语' THEN S.Score ELSE NULL END) AS英语, SUM(CASE WHEN F.FName = '历史' THEN S.Score ELSE NULL END) AS历史FROM Member M JOIN Score S ON M.MID = S.MID JOIN (SELECT * FROM Course WHERE FName IN ('语文', '数学', '英语', '历史')) F ON S.FID = F.FID GROUP BY M.MName; ``` ### 2.条件筛选查询对于查询成绩低于70分的学生及其对应课程名和成绩的需求,可以通过WHERE子句结合条件筛选来实现。此查询将关注于`Score`表中的成绩字段,与预设的阈值进行比较,同时联接`Course`表以获取课程名。 ```sql SELECT M.MName AS姓名, F.FName AS课程名, S.Score AS成绩FROM Member M JOIN Score S ON M.MID = S.MID JOIN Course F ON S.FID = F.FID WHERE S.Score < 70 xss=removed xss=removed xss=removed COUNT(*) = ' + CAST(@ExamCount AS NVARCHAR(10)) + '>
sql查询练习
相关推荐
SQL查询练习
提供大量SQL练习题,供学习者提升查询技能。
SQLServer
17
2024-05-15
SQL查询练习汇总
在信息技术领域,SQL(Structured Query Language)是一种广泛应用于数据分析、数据存储和数据挖掘的强大语言。本资源提供了丰富的SQL练习题,涵盖了基础到高级的各种查询操作。压缩包包含了详细的题目文档“PracticeOfSqlQuery.doc”,其中包括SELECT、JOIN、子查询、聚合函数、分组、排序、集合操作等多个类型的练习题。此外,还有“练习题答案.sql”和“Sql练习数据准备.sql”文件,帮助你理解如何编写高效的SQL语句并应用于实际数据模型。
SQLServer
8
2024-09-01
Oracle SQL经典查询练习
使用SQL解决以下问题:1. 列出至少有一个员工的所有部门。2. 列出薪资高于“SMITH”的所有员工。3. 列出每位员工及其直接上级的姓名。4. 列出入职日期早于其直接上级的所有员工。5. 列出部门及其员工信息,包括没有员工的部门。6. 列出所有“CLERK”(办事员)的姓名及其部门名称。7. 列出最低薪资高于1500的所有职位。8. 列出在销售部工作的员工姓名,假设未知销售部门编号。9. 列出薪资高于公司平均薪资的所有员工。10. 列出与“SCOTT”从事相同工作的所有员工。11. 列出薪资等于部门30中员工的薪资的所有员工姓名和薪资。12. 列出薪资高于部门30中员工的薪资的所有员工姓名
Oracle
14
2024-08-10
SQL 查询练习与解答
本练习涵盖单表查询、聚合函数、分组查询、嵌套查询、联接查询等 SQL 基础查询类型,提供相应答案,帮助学习者掌握 SQL 查询技巧。
MySQL
11
2024-05-25
SQL嵌套查询练习题
这是一组SQL语句的嵌套查询练习题,完成这些题目将有助于提升你的查询能力。
SQLServer
11
2024-07-26
SQL查询练习数据集
学习 SQL 查询语句,最头疼的其实不是语法,而是——没数据怎么练?这里就帮你省了不少事,直接准备好了完整的几个表的数据。你不用自己编造,也不用网上乱翻,拿来就能用,挺省心的。
SQL 查询的练习数据,说白了就是你要跑个查询语句,至少得有张像样的表吧?这份资源里,几个典型的表都搞定了,字段也比较规范,适合初学练手,也适合老手做测试。
再说句实在的,学 SQL,不就是要查得快、写得顺、跑得稳?推荐你看看下面几个配套资源:
数据表转 SQL INSERT 语句,你直接把现成表结构转成 SQL,插入数据一步搞定,省得手写半天。
SQL 查询性能优化策略,里面讲了临时表、聚合查询那些,适合你调调查询速
MySQL
0
2025-06-25
SQL查询更新语句优化练习
SQL查询更新语句详解####一、SQL查询语句重点##### 1.计算学生选修的课程数量- 重点:利用COUNT(DISTINCT)函数计算不同课程的数量。这里通过COUNT(DISTINCT Cno)来统计选修过的课程数量。 - SQL语句: sql SELECT COUNT(DISTINCT Cno) FROM SC; ##### 2.计算选修C4课程学生的平均年龄- 重点:使用内连接和子查询,计算选修C4课程学生的年龄平均值。 - SQL语句(两种方法): - 方法一:使用子查询找出选修了C4课程的学生学号,然后与学生表S连接,获取这些学生的年龄并计算平均值。 sql SELECT A
算法与数据结构
10
2024-08-11
MySQL查询语句练习SQL技能提升
MySQL 查询语句练习是一个实用的资源,适合各位开发者进行日常的 SQL 练习,是数据库相关的查询。你可以通过它来熟悉一些常见的查询操作,比如查询雇员编号、姓名、职位等数据,甚至通过IFNULL函数来空值,计算年薪等,感觉简单易懂。比如,想要查询出所有的职位,并去重,可以使用DISTINCT,就方便。它的练习内容挺丰富,适合有一定基础的开发者巩固和提升 SQL 技能。对于正在准备面试的同学来说,了解和掌握这些基本查询操作也是必不可少的。哦对了,还可以参考一些相关文章提升技能,像IFNULL函数在面试中的应用就挺重要的。如果你是刚入门的朋友,建议从基本的查询开始,逐步深入到更复杂的操作。
MySQL
0
2025-06-24
SQL Server递归查询练习卷
递归查询的练习卷挺实用的,尤其是你想搞懂层级关系、员工上下级结构、分类树这些结构时。这份sql server-练习卷-递归查询.sql写得比较清晰,重点是练习题安排得不难不花哨,刚好拿来练手。
SQL Server 的递归查询嘛,说白了就是用WITH CTE AS (...)这种结构,不停往下查。你要是之前没接触过CTE,这练习就是个不错的起点。像常见的组织架构、人事汇报、地区分级这些业务场景,里面都有案例可以套。
哦对了,如果你想多拓展点思路,我建议可以顺手看看几个相关的:MySQL 递归查询 SQL 语句整理、Oracle 查询练习题下载,不同数据库写法略有差别,对比着看更容易理解底层逻辑
SQLServer
0
2025-06-29