【如何成为SQL高手】第七关:多表连接查询

简介: 【如何成为SQL高手】第七关:多表连接查询

本文案例导入以下sql文本即可,通过百度网盘下载

mysql> source h:\db_school.sql

网盘链接:https://pan.baidu.com/s/1rvJhB6it8rvOMeqMjRAGlg?pwd=0hx1


⛳️实例1


查询每个学生选修课程的情况

select b.studentNo,b.studentName,c.*

from tb_score a,tb_student b,tb_course c

where a.studentNo = b.studentNo

and a.courseNo = c.courseNo;


image.png


⛳️实例2


查询会计学院全体同学的学号、姓名、籍贯、班级编号和所在班级名称。

select a.studentNo,a.studentName,a.native,a.classNo,b.className

from tb_student a,tb_class b

where a.classNo = b.classNo

and b.department =‘会计学院’;


image.png


⛳️实例3


查询选修了课程名称为‘程序设计’的学生学号、姓名和成绩。

select b.studentNo,b.studentName,a.score

from tb_score a,tb_student b,tb_course c

where a.studentNo = b.studentNo

and a.courseNo = c.courseNo

and c.courseName=‘程序设计’;


03d2104d47ad47899e7d975d2637459d.png

🐴实例4


查询与数据库这门课学分相同的课程信息。

select * from tb_course a where a.credit in

(select credit from tb_course b

where a.credit=b.credit and b.courseName = ‘数据库’)

and a.courseName <> ‘数据库’;

a7db149d6d0d49dc8a7839639d15fc11.png


🐴实例5


使用左连接查询所有学生及其选修课程的情况,

包括没有选修课程的学生,要求显示学号、姓名、性别、班号、选修的课程号和成绩。

select a.studentNo,a.studentName,a.sex,a.classNo,c.courseName,b.score

from tb_student a left join tb_score b on a.studentNo = b.studentNo

join tb_course c on b.courseNo=c.courseNo;


image.png

🐴实例6


使用右连接查询所有学生及其选修课程的情况,

包括没有选修课程的学生,要求显示学号、姓名、性别、班号、选修的课程号和成绩。

select a.studentNo,a.studentName,a.sex,a.classNo,c.courseName,b.score

from tb_student a right join tb_score b on a.studentNo = b.studentNo

join tb_course c on b.courseNo=c.courseNo;

image.png

目录
相关文章
|
3月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
301 3
|
9天前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
33 9
|
29天前
|
SQL 存储 人工智能
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,能够基于大型语言模型(LLMs)为数据库生成精确的 SQL 查询。Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。
103 7
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
|
2月前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
39 8
|
2月前
|
SQL 安全 PHP
PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全
本文深入探讨了PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全。
63 4
|
2月前
|
SQL 监控 关系型数据库
SQL语句当前及历史信息查询-performance schema的使用
本文介绍了如何使用MySQL的Performance Schema来获取SQL语句的当前和历史执行信息。Performance Schema默认在MySQL 8.0中启用,可以通过查询相关表来获取详细的SQL执行信息,包括当前执行的SQL、历史执行记录和统计汇总信息,从而快速定位和解决性能瓶颈。
|
2月前
|
SQL 存储 缓存
如何优化SQL查询性能?
【10月更文挑战第28天】如何优化SQL查询性能?
168 10
|
2月前
|
SQL 关系型数据库 MySQL
|
3月前
|
SQL 数据库 开发者
功能发布-自定义SQL查询
本期主要为大家介绍ClkLog九月上线的新功能-自定义SQL查询。
|
3月前
|
SQL 数据库 索引
SQL语句实现投影连接:方法与技巧详解
在SQL数据库查询中,投影和连接是两个核心概念