数据库学习-连接查询&子查询作业示例【带源码】

简介: MySQL数据库 “连接查询&子查询” 习题示例,包含源码,能建立起对于连接查询&子查询的基本概念

 目录

1.查询“Chisel”所在车间的车间编号、车间主任姓名、主任联系方式

2.查询所有员工姓名、员工联系电话、车间地址、车间主任姓名、主任联系方式

3.查询“Chisel”所在车间的所有员工姓名、员工联系电话、车间地址

4.查询生产出质量达标产品的产品编号、员工姓名、员工联系电话

5.查询已生产产品车间的车间号、平均工龄

6.查询所有产品的产品编号、是否合格(合格返回true不合格返回false)、员工号、员工姓名、员工联系方式、车间编号、车间地址

7.查询员工表中是否存在“common”工种的员工,如果存在则查询员工表“common”工种员工的所有字段信息

8.查询存在离职员工的车间编号、车间主任、主任联系方式


1.查询“Chisel”所在车间的车间编号、车间主任姓名、主任联系方式

select no,name,phone from zhongjinlin_workshop ws

   -> where no in (

   -> select shop_no from zhongjinlin_worker

   -> where name="Chisel"

       -> );

image.gif


内容解析:联合查询首先要明白的一个关键点是什么,就是你需要查询什么,就先查哪个表的字段信息,这样第一个表就解决了,然后再看它的查询条件,再判断连接语句里面应该怎么查询


2.查询所有员工姓名、员工联系电话、车间地址、车间主任姓名、主任联系方式


select wk.name,wk.phone,ws.address,ws.name,ws.phone from

   -> zhongjinlin_worker wk right join zhongjinlin_workshop ws on

-> wk.shop_no = ws.no;

image.gif


内容解析:如何判断两个表是用哪个字段连接呢,这就需要看两个表字段数据内容了,总不能一个表的字段数据是字符,你和数字的字段连接到一起吧,这显然是不符合的,所以呢,一个简单快捷的方法就是看数据内容有没有有联系的

3.查询“Chisel”所在车间的所有员工姓名、员工联系电话、车间地址


select shop_no from zhongjinlin_worker

-> where name="Chisel";

select wk.name,wk.phone,ws.address from

   -> zhongjinlin_worker wk inner join zhongjinlin_workshop ws

-> on wk.shop_no = ws.no where shop_no = "WS1";

image.gif编辑

image.gif编辑


4.查询生产出质量达标产品的产品编号、员工姓名、员工联系电话


select no,name,phone from zhongjinlin_worker where

   -> is_onwork="1";

image.gif编辑

5.查询已生产产品车间的车间号、平均工龄


select shop_no,avg(seniority) from zhongjinlin_worker where shop_no = "WS2";

image.gif编辑


6.查询所有产品的产品编号、是否合格(合格返回true不合格返回false)、员工号、员工姓名、员工联系方式、车间编号、车间地址


select pd.no,pd.is_qualified,wk.no,wk.name,wk.phone,ws.no,ws.address from

   -> zhongjinlin_product pd

   -> right join zhongjinlin_worker wk on pd.work_no =wk.no

-> left join zhongjinlin_workshop ws on pd.work_no = ws.no;

image.gif编辑


7.查询员工表中是否存在“common”工种的员工,如果存在则查询员工表“common”工种员工的所有字段信息


select * from zhongjinlin_worker where

   -> work_type="common";

image.gif编辑


8.查询存在离职员工的车间编号、车间主任、主任联系方式


select no,name,phone from zhongjinlin_workshop

   -> where no in(

   -> select shop_no from zhongjinlin_worker

   -> where is_onwork="0"

   -> );

image.gif编辑

相关文章
|
10天前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
52 3
|
8天前
|
SQL NoSQL 关系型数据库
数据库学习
【10月更文挑战第8天】
14 1
|
8天前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
32 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
9天前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
14 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
9天前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
11 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
10天前
|
SQL 存储 监控
串口调试助手连接SQL数据库的技巧与方法
串口调试助手是电子工程师和软件开发人员常用的工具,它能够帮助用户进行串口通信的调试和数据分析
|
9天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
43 6
|
7天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
39 3
Mysql(4)—数据库索引
|
9天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
27 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
14天前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
38 5
Mysql(3)—数据库相关概念及工作原理