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

简介: 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编辑

相关文章
|
4天前
|
SQL 关系型数据库 MySQL
【Go语言专栏】使用Go语言连接MySQL数据库
【4月更文挑战第30天】本文介绍了如何使用Go语言连接和操作MySQL数据库,包括选择`go-sql-driver/mysql`驱动、安装导入、建立连接、执行SQL查询、插入/更新/删除操作、事务处理以及性能优化和最佳实践。通过示例代码,展示了连接数据库、使用连接池、事务管理和性能调优的方法,帮助开发者构建高效、稳定的Web应用。
|
2天前
|
Java 关系型数据库 数据库连接
【C 言专栏】C 语言与数据库的连接与操作
【5月更文挑战第2天】本文探讨了C语言如何连接和操作数据库,介绍了数据库连接的基本原理,如通过ODBC、JDBC或原生接口与数据库交互。文章详细阐述了使用ODBC连接的步骤,并列举了C语言在数据库操作中的常见任务,强调了错误处理、数据类型匹配和性能优化的重要性。通过实际案例,展示了在学生信息管理系统中应用C语言与数据库交互的过程。本文旨在帮助读者更好地理解和应用C语言进行数据库管理。
|
3天前
|
SQL 关系型数据库 MySQL
【MySQL-5】DDL的数据库操作:查询&创建&删除&使用(可cv代码+演示图)
【MySQL-5】DDL的数据库操作:查询&创建&删除&使用(可cv代码+演示图)
|
4天前
|
存储 SQL 缓存
构建高效的矢量数据库查询:查询语言与优化策略
【4月更文挑战第30天】本文探讨了构建高效矢量数据库查询的关键点,包括设计简洁、表达性强的查询语言,支持空间操作、函数及索引。查询优化策略涉及查询重写、索引优化、并行处理和缓存机制,以提升查询效率和准确性。这些方法对处理高维空间数据的应用至关重要,随着技术进步,矢量数据库查询系统将在更多领域得到应用。
|
4天前
|
SQL 缓存 监控
如何在数据库查询中使用参数化查询?
【4月更文挑战第30天】如何在数据库查询中使用参数化查询?
13 1
|
4天前
|
存储 SQL 关系型数据库
mysql查询数据库表大小怎么操作
mysql查询数据库表大小怎么操作
|
3天前
|
关系型数据库 MySQL Linux
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
|
3天前
|
SQL 关系型数据库 MySQL
【MySQL-1】理解关系型数据库&数据的数据模型
【MySQL-1】理解关系型数据库&数据的数据模型
|
4天前
|
关系型数据库 MySQL 数据库
Docker数据库Mysql
Docker数据库Mysql
|
4天前
|
关系型数据库 MySQL PHP
【PHP 开发专栏】PHP 连接 MySQL 数据库的方法
【4月更文挑战第30天】本文介绍了 PHP 连接 MySQL 的两种主要方法:mysqli 和 PDO 扩展,包括连接、查询和处理结果的基本步骤。还讨论了连接参数设置、常见问题及解决方法,如连接失败、权限和字符集问题。此外,提到了高级技巧如使用连接池和缓存连接信息以优化性能。最后,通过实际案例分析了在用户登录系统和数据管理中的应用。