[SQL Server]数据库入门之多表查询

news2024/11/27 23:54:05

🎬 博客主页:博主链接
🎥 本文由 M malloc 原创,首发于 CSDN🙉
🎄 学习专栏推荐:LeetCode刷题集!
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 未来很长,值得我们全力奔赴更美好的生活✨
------------------❤️分割线❤️-------------------------
————————————————

在这里插入图片描述
在这里插入图片描述

文章目录

  • 😇SQL_Server的前情介绍
    • 😧 一、sql_server技术介绍
    • 😧二、学习前的准备工作
  • 😇SQL_Server之多表查询
    • 😇笛卡尔乘积的讲解
    • 😇多表查询
    • 😇内连接查询
    • 😇外连接查询(左外连,右外连,全外连)
    • 😇全外连查询(无论是否符合关系,都要显示数据)
    • 😇多表查询的主要例子
  • 🤣如何巩固学习

😇SQL_Server的前情介绍

😁大家好呀,今天是我第三次写sql_server,也是最近才学习sql_server,也想着记录一下自己的学习过程,并且分享给大家尼!

😧 一、sql_server技术介绍

SQL Server 是由微软公司(Microsoft)开发的关系型数(RDBMS)。RDBMS 是 SQL 以及所有现代数据库系统的基础,比如 MS SQL Server,IBM DB2,Oracle,MySQL 以及微软的 Microsoft Access。

😧二、学习前的准备工作

编程软件:SQL Server Management Studio 2012
带好你的小板凳,我们一起扬帆起航!

在这里插入图片描述

😇SQL_Server之多表查询

😇笛卡尔乘积的讲解

在数据库中有一种叫笛卡尔乘积其语法如下:
select * from People,Department

此查询结果会将People表的所有数据和Department表的所有数据进行依次排列组合形成新的记录。例如People表有10条记录,Department表有3条记录,则排列组合之后查询结果会有10*3=30条记录.

😇多表查询

接下来我们来看几个例子吧!

1.查询员工信息,显示部门信息

select * from People,department where People.DepartmentId = department.DepartmentId 

在这里插入图片描述

2.查询员工信息,显示职级名称

select * from People,s_rank where People.RankId = s_rank.RankId

在这里插入图片描述

3.查询员工信息,显示部门名称,显示职级名称

select * from People,department,s_rank 
	where People.departmentId = department.DepartmentId and People.RankId = s_rank.RankId 

在这里插入图片描述

😇内连接查询

在数据库的查询过程中,存在有内连接查询,这个时候,我们就需要用到inner这个关键字,下面我们来看几个例子吧!

1.查询员工信息,显示部门信息

select * from People inner join department on People.departmentId = department.DepartmentId

在这里插入图片描述

2.查询员工信息,显示职级名称

select * from People inner join s_rank on People.RankId = s_rank.RankId

在这里插入图片描述

3.查询员工信息,显示部门名称,显示职级名称

select * from People inner join department on People.departmentId = department.DepartmentId
inner join s_rank on People.RankId = s_rank.RankId

在这里插入图片描述

😇外连接查询(左外连,右外连,全外连)

1.查询员工信息,显示部门信息(左外连)

select * from People left join department on People.departmentId = department.DepartmentId

在这里插入图片描述

2.查询员工信息,显示职级名称(左外接)

select * from People left join s_rank on People.RankId = s_rank.RankId

在这里插入图片描述

3.查询员工信息,显示部门名称,显示职级名称(左外连)

select * from People left join department on People.departmentId = department.DepartmentId
inner join s_rank on People.RankId = s_rank.RankId

在这里插入图片描述

4.右外连

A left join B = B right join A

select * from People right join department on People.departmentId = department.DepartmentId

在这里插入图片描述

😇全外连查询(无论是否符合关系,都要显示数据)

1.select * from People full join department on People.departmentId = department.DepartmentId
在这里插入图片描述

😇多表查询的主要例子

1.查询出武汉地区所有的员工信息,要求显示部门名称,以及员工的详细资料(显示中文别名)

select PeopleId 员工编号,DepartmentName 部门名称,PeopleName 员工姓名,PeopleSex 员工性别,
PeopleBirth 员工生日,PeoPleSalary 月薪,PeoplePhone 电话,PeopleAddress 地址
from People,department where People.departmentId = department.DepartmentId

在这里插入图片描述

2.查询出武汉地区所有员工的信息,要求显示部门名称,职级名称以及员工的详细资料

select PeopleId 员工编号,DepartmentName 部门名称,RankName 职级名称, PeopleName 员工姓名,PeopleSex 员工性别,
PeopleBirth 员工生日,PeoPleSalary 月薪,PeoplePhone 电话,PeopleAddress 地址
from People,department,s_rank where People.departmentId = department.DepartmentId 
and People.RankId = s_rank.RankId and PeopleAddress = '武汉'

在这里插入图片描述

3.根据部门分组统计员工人数,员工工资总和,平均工资,最高工资和最低工资

select DepartmentName 部门名称, count(*) 员工人数,sum(PeopleSalary) 工资总和,avg(PeopleSalary) 平均工资,max(PeopleSalary) 最高工资,min(PeopleSalary) 最低工资 
from People,department
	where People.departmentId = department.DepartmentId
		group by department.DepartmentId,DepartmentName

在这里插入图片描述

4.根据部门分组统计员工人数,员工工资总和,平均工资,最高工资和最低工资平均工资在10000元以下的不参与排序。根据平均工资降序排序

select DepartmentName 部门名称, count(*) 员工人数,sum(PeopleSalary) 工资总和,avg(PeopleSalary) 平均工资,max(PeopleSalary) 最高工资,min(PeopleSalary) 最低工资 
from People,department
	where People.departmentId = department.DepartmentId 
		group by department.DepartmentId,DepartmentName	
			having avg(PeopleSalary) >= 15000 
				order by avg(PeopleSalary) desc

在这里插入图片描述

5.根据部门名称,然后根据职位名称分组,统计员工人数,员工工资总和
平均工资,最高工资,和最低工资

select DepartmentName 部门名称,RankName 职级名称, count(*) 员工人数,sum(PeopleSalary) 工资总和,avg(PeopleSalary) 平均工资,max(PeopleSalary) 最高工资,min(PeopleSalary) 最低工资 
from People,department,s_rank
	where People.departmentId = department.DepartmentId and People.RankId = s_rank.RankId
		group by department.DepartmentId,DepartmentName,s_rank.RankId,s_rank.RankName

在这里插入图片描述

🤣如何巩固学习

提示:在学习的过程中,我们需要先自行进行思考,而不是一遇到不会的就放弃思考直接看答案,如果最后遇到真的不会的题目,我们可以适当的进行观看答案,看自己的思路是否正确,在作出正确的判断

好啦今日的分享到这里就结束啦,我是爱你们的M malloc希望可以帮助到你们噢,最后别忘记三连啦!!

提醒:以上内容仅可自学,不可自行发散。如许转载请联系作者,否则将追究责任。
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/620641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用vant,实现密码输入框右边提供可视按钮(最简单)

在实际项目开发中,要实现密码输入框带密码可见切换按钮(右侧的眼睛),点眼睛可以显示或隐藏密码。 实现原理:动态绑定输入框类型 1.绑定密码框的type属性,在密码框使用插槽 ps:由于icon标签不…

美股怎么交易?有哪些美股交易基础知识?

美股市场相对成熟,投资回报率也更高一些,受到投资者喜爱。美股怎么交易?首先就需要了解美股交易基础知识。 美股交易基础知识一、美股交易市场 美股主要交易市场有NYSE纽约证券交易所、NASDAQ纳斯达克证券市场、AMEX美国证券交易所。 美股交…

GitOps 最佳实践(上)| 基于 Amazon EKS 构建 CI/CD 流水线

GitOps 是目前比较理想的方法来实现基于 Kuberentes 集群的持续部署。 了解了 GitOps 的概念以及 CI/CD 流水线的架构,接下来我们将通过以下四个模块逐步完成构建 CI/CD 流水线的最佳实践: 通过 IaC 部署云基础架构;在 Amazon EKS 集群上部…

2023年新课标I卷作文,5位人工智能考生(ChatGPT,文心一言,GPT4, ChatGLM-6b, ChatT5)来写作,看谁写得最好

大家好,我是微学AI,今天是2023年6月7日,一年一度的高考又来了,今年的高考作文题也新鲜出炉。今年是特殊的一年,有人说2023是AI的元年,这一年里有大语言模型的爆发,每天都有大模型的公布&#xf…

23年测试岗,测试工程师从初级到中高级进阶,测试晋升之路...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 调查显示&#xf…

【旋转摆正验证码】移动积分兑换影视会员活动旋转摆正验证码识别——识别解绝方法

移动积分兑换影视会员活动旋转验证码的0~200ms级小模型识别思路 具体讲解识别思路 移动积分兑换影视会员活动拖动旋转验证码被破解?当代流行的人机验证到底安不安全? 提示:以下是皆为学习交流之,如有侵权 ,望通知删帖…

年内BEV落地之战:华为遥遥领先,还是蔚小理登上王座?

作者 | 张祥威 编辑 | 德新 落地城市NOA,是今年最重磅的自动驾驶大战。而BEV感知,目前看来是 通往城市NOA的必经之路。 年内落地BEV,已经是国内自动驾驶头部玩家的共识。 其实,BEV是很早就提出的算法,又称鸟瞰图或上帝…

R730调整风扇转速

整整一个月没有写文章了,一是因为最近太忙,有点休息的时间就想躺着;二是买了Tesla P40显卡,想写个安装教程,结果快一个月了,安装还是失败。 大家如果谁懂在R730的ESXi上,用直通方式安装Tesla&am…

MMPretrain代码课

安装注意事项 训练时需要基于算法库源码进行开发,所以需要git clone mmpretrain仓库。如果只调用,则pip install 即可。 from mmpretrain import get_model, list_models,inference_model分别用于模型的获取、例举、推理 此时还没加载预训练权重 tor…

Redis-Cluster集群架构

Redis-Cluster 1.哨兵模式和redis-cluster模式的区别 哨兵模式的问题:1.只有一个master节点可以提供写的操作,qps 最多10w,对于高并发特别高的大型互联网系统 ​ 2.单节点不会内存太大,内存很大会给主节点造成压力,…

如何用数据资产管理,解锁数据新价值

数字经济和数字化转型的发展有什么共通点吗?这个问题的答案也很明显,数据就是数字经济数字化转型的基础,也是推动两者快速发展的核心要素。数字化时代,数据已经成为了个人、机构、企业乃至国家的重要战略资产,所以如何…

CnOpenData数字经济专利及引用被引用数据

一、数据简介 自人类社会进入信息时代以来,数字技术的快速发展和广泛应用衍生出数字经济。与农耕时代的农业经济、工业时代的工业经济大有不同,数字经济是一种新的经济、新的动能、新的业态,并引发了社会和经济的整体性深刻变革。现阶段&…

Nginx网络服务——页面优化与安全

Nginx网络服务——优化与防盗链 一、Nginx的网页优化1.Nginx的网页压缩2.Nginx的图片缓存3.Nginx的连接超时设置4.Nginx的并发设置 二、Nginx的页面安全1.查看Nginx版本的方式2.隐藏版本号 三、Nginx的日志分割1.编写日志分割脚本2. 执行脚本进行测试3. 将日志脚本添加至计划性…

InnoDB - 行格式

文章目录 InnoDB - 行格式1. 什么是行格式2. 四种行格式3. Compact行格式 InnoDB - 行格式 1. 什么是行格式 我们平时是以行记录为单位向表中插入数据的,这些数据在磁盘上的存放方式被称为行格式或者记录格式。 InnoDB引擎中支持四种行格式:Compact、…

Java8 Stream详解及中间操作方法使用示例(一)

Java 8 引入了 Stream API,提供了一种新的处理集合和数组的方式。Stream API 可以让我们更加便捷、灵活地处理数据,尤其是大规模数据。在这里,我将详细介绍 Java 8 中的 Stream API。 什么是 Stream Stream 是 Java 8 中引入的一个新的概念&…

vs2022配置pcl1.13.1

下载 下载PCL预编译安装程序PCL-1.13.1-AllInOne-msvc2022-win64.exe 和要安装的PCL组件(例如pcl-1.13.1-pdb-msvc2022-win64.zip) 安装 双击 PCL-1.13.1-AllInOne-msvc2022-win64.exe进行安装。到图1的步骤时,选择第二项。 图1 下一步&am…

串口助手(布局,图标,串口号,隐藏界面,显示实时时间)

文章目录 前言一、串口助手布局二、设置软件的标题,图标三、显示可用串口号四、隐藏,显示面板五、显示实时时间总结 前言 从这篇文章开始 教大家自己制作一个串口助手软件,并实现基本的功能。学做一个 串口助手可以一边回顾复习 QT 的相关知…

《面试1v1》G1垃圾回收器

我是 javapub,一名 Markdown 程序员从👨‍💻,八股文种子选手。 《面试1v1》 连载中… 面试官: G1垃圾收集器?听说很牛逼的样子! 候选人: 是的,G1是JDK9默认的垃圾收集器,代替了CMS收集器。它的目标是达到…

4.运算符|Java学习笔记

文章目录 运算符介绍算术运算符关系运算符(比较运算符)逻辑运算符赋值运算符三元运算符位运算符 运算符优先级Java命名规范关键字保留字 进制十进制转(二/八/十六进制)原码、反码、补码 运算符介绍 运算符是一种特殊的符号&#…

【Linux】认识Linux下的编译器gcc/g++ | 认识动静态库

本文思维导图: 文章目录 前言tips: 关于前两篇文章所提到的sudo指令 一、gcc/g编译器的认识和使用tips 1.预处理2. 编译3.汇编4.链接关于预编译,编译,汇编阶段的指令记忆方法 二、gcc/g指令汇总三、认识动静态库1.库的认知库的命名规则静态库…