student(学生信息表):

class(班级信息表):


score(学生成绩表):


需求:查询初一一班所有男生的英语成绩

思路:

1.明确查询条件:初一一班, 男生, 英语

2.明确查询结果:成绩

3.明确要查询的表:student, class, score

明确这三点以后,剩下的就是如何将条件组合起来。

试想下,生活中要知道一个学生的某一课程的成绩,首先要明确其班级,然后是其姓名,最后是课程名。

同理,我们可以通过以下步骤来明确sql:

①明确班级:

因为:student表通过class_id 关联class表,

所以:SELECT class_id FROM class WHERE class_name = "初一一班" ==> 获取该班的 class_id,从而和student表建立关联

②明确学生id:

因为:student表通过stu_id 关联 score表,

所以:SELECT stu_id from student where sex = "男" AND class_id = (SELECT class_id FROM class WHERE class_name = "初一一班") ==> 获取该班的 class_id,从而和student表建立关联

③通过学生id,关联到score表,并添加查询条件,课程名,来查询出成绩

SELECT stu.stu_name,sco.score FROM score sco
LEFT JOIN student stu ON sco.stu_id = stu.stu_id
WHERE stu.class_id = (SELECT class_id FROM class WHERE class_name = "初一一班")
AND stu.sex = "男"
AND sco.sub_name = "英语";

【SQL】关于sql多表查询:查询初一一班所有男生的英语成绩相关推荐

  1. 【SQL】在SQL Server中多表关联查询问题

    好久没有写SQL语句的多表连接查询,总在用框架进行持久化操作.今天写了一个多表关联查询,想根据两个字段唯一确定一条数据 失败的案例如下: SELECT cyb.id,ad.name FROM [Gen ...

  2. sql怎么两个表关联查询

    在 SQL 中,我们可以使用 JOIN 关键字来两个表关联查询.例如,假设有两个表:table1 和 table2,并且它们之间有一个关联字段 field1.你可以使用如下的语句来两个表关联查询: S ...

  3. SQL版本:多表连接查询(两张表为例)

    SQL版本:    数据准备: #创建一个数据库company CREATE DATABASE IF NOT EXISTS company;#创建部门表 CREATE TABLE dept(id IN ...

  4. 使用SQL进行两个表关联查询(inner)

    结果显示 公司类型表 公司表 实现方式 SELECTt_company.id,cName, typeName, cDescribe, t_company.modifyTime, t_company.c ...

  5. SQL语法(五) 多表联合查询

    前言 当需要获取的数据分布在多张中,考虑使用联合查询,本章将学习两种查询方式(sql92/sql99) 范例 1.笛卡儿积 将多个表的数据进行一一对应,所得到结果为多表的笛卡尔积.结果的数量为所有表的 ...

  6. SQL语句多表联合查询

    本周之前,对于数据库的使用仅限于简单的增删改查(insert.delete.updata.select),而这一周由于工作需要,对一些sql函数.sql语句多表联合查询.T-SQL语句基本语法.存储过 ...

  7. SQL多表连接查询(具体实例)

    本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student  截图例如以下: 表2:course  截图例如以下: (此时这样建表仅仅是为了演示连接SQL语句.当然实际开发中我们 ...

  8. SQL多表连接查询(详细实例)

    本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student 截图如下: 表2:course 截图如下: (此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表, ...

  9. postgres sql 多表联合查询_从零学会SQL-多表查询

    之前学习的内容几乎针对单个表进行简单操作,实际工作中可没有这么简单,复杂的表结构和多表数据关联进行分析,这时候需要我们掌握多表查询方法,一如既往,我们先看一下这篇的主要内容: 表的加法 表的联结 联结 ...

最新文章

  1. 开篇有益-解析微软微服务架构eShopOnContainers(一)
  2. openFileDialog 打开TXT记事本文件写入数据库
  3. 13 种在 Linux 系统上检测 CPU 信息的工具
  4. C 语言编程 — 结构体的数据类型转换
  5. [BZOJ4448][SCOI2015]情报传递[dfs序+树状数组]
  6. 《微信小程序:开发入门及案例详解》—— 3.4 小结
  7. BigData之Hive:Hive数据管理的简介、下载、案例应用之详细攻略
  8. 两种语言的html文件,2. 第二章 HTML语言(一)(33页)-原创力文档
  9. android mysql sqlite_Android SQLite数据库基本操作方法
  10. 网络性能测试工具iperf详细使用图文教程【转载】
  11. U-Boot提供的命令【整理】
  12. 重金悬赏丨2019 华为 IoT 开发者大赛喊你加入“群聊”,倾听科技的“声音”!...
  13. 用vscode创建一个c项目_vscode怎么创建C语言项目
  14. 6.0系统机器Xposed框架安装经验
  15. ie主页被篡改(修改注册表)
  16. [java]左键画圆,右键画方
  17. 停车场停车怎么找车?怎样查车停车什么停车场?
  18. 视频教程-仿淘宝客户端电商平台android初级速成-Android
  19. python第六章答案_python第六章
  20. 游戏开发者放心!Cocos引擎未感染XcodeGhost

热门文章

  1. 【集合】统一身份认证(CAS)和OAuth2的工作流程
  2. 【板栗糖GIS】wps——如何将空格填充上一行的内容
  3. iex : 使用“3”个参数调用“SetEnvironmentVariable”时发生异常:“尝试执行未经授权的操作。”
  4. 高仿百科资料php,高仿喵喵折前端代码
  5. c# 调用mysql存储过程 返回值_C#调用MySQL存储过程,函数的最佳方法
  6. 查看电池系统信息,包括循环次数、电池状态等信息
  7. 读“袁峰的红包”有感
  8. 14. 使用MyBatis注解配置SQL
  9. 14、TensorFLow 变量命名空间
  10. CPU和GPU及CUDA入门基础概念