数据库SQL题

本文介绍了关于数据库SQL的各种查询操作,包括创建库、表,查看员工信息,按条件筛选,连接查询,以及数据库规范化和实体关系图的概念。讨论了内连接、外连接和自连接的用法,同时阐述了数据库范式,强调了数据库设计的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建库

2.创建表

3.查看员工表中的姓名和性别

4.-- 查看员工表中所有的字段

 

5.-- 查看每个员工一年的总收入

 

6.-- 如何为查询结果指定别名

 

7.-- 查看女员工的信息

 

8.-- 查看月薪范围位于8000到12000之间的员工

 

9.-- 查看员工中叫做‘张三’、‘李四’或‘张飞’的信息

 

10.-- 查询员工的姓名里有个“云”字的员工信息

 

11.-- 有些员工有奖金(bonus),有些员工没有,怎么查看

 

12.-- 如何查看2010年1月1日之后入职的女员工

 

13.-- 查看员工信息的时候,按照薪水从高到低显示

 

14.-- 薪水一样多的员工,按照奖金的多少进行排序 

15.-- 员工的姓名是中文,如何按照姓名的拼音顺序进行排序

 

16.-- 薪水最高的3位员工都有谁

 

17.-- 工资信息比较敏感,不宜直接显示。按照范围显示收入水平,小于10000显示为“低收入”,大于等于10000并且小于20000显示为“中等收入”,大于20000先hi为“高收入”。如何使用SQL实现

 

18.-- 如何统计员工的数量、平均月薪、最高月薪、最低月薪以及月薪的总和

 

19.-- 以下的两个count函数返回的结果是否相同

 

20.-- 统计每个部门的员工的数量、平均月薪

 

21.-- 如果只想查看平均月薪大于10000的部门,怎么实现

 

22. -- 查询月薪超过5000的,员工数量大于5的部门

 23.-- 什么是连接查询?SQL中有哪些连接查询?
答:连接(join)查询是基于两个表中的关联字段将数据行拼接到一块,可以同时返回两个表中的数据。SQL支持以下连接:
    内连接(inner join):用于返回两个表中满足连接条件的数据行。
    左外连接(left outer join):返回左表中所有的数据行,对于右表中的数据,如果没有匹配值,返回空值。
    右外连接(right outer join):返回右表中所有的数据行,对于左表中的数据,如果没有匹配的值,返回空值。
    自连接(self join):是指连接操作符的两边都是同一个表,即把一个表和它自己进行连接。自连接主要用于处理那些对自己进行了外键引用的表。

24.-- 什么是数据库规范化,有哪些常见的数据库范式?
数据库规范化一种数据库设计的方法,于有效地组织数据,减少数据的冗余和相互之间的依赖,增加数据的一致性。由于规范化的数据库存冗余,可能导致数据的插入、删除、修改异常等问题,因此引入了规范化过程。数据库规范化的程度被称为范式(Normal Form),目前已经存在第一范式到第六范式,每个范式都是基于前面范式的增强。
第一范式(First Normal Form),表中的每个属性都是单值属性,每个记录都唯一,也就是需要主键。举例来说,如果员工存在工作邮箱和个人邮箱,不能都放到一个字段,而需要拆分成两个字段;
第二范式(Second Normal Form),首先需要满足第一范式,且不包含任何部分依赖关系。举例来说,如果将学生信息和选课信息放在一起,学号和课程编号可以作为复合主键;但此时学生的其他信息依赖于学号,即主键的一部分。通常使用单列主键可以解决部分依赖问题;
第三范式(Third Normal Form),首先需要满足第二范式,并且不存在传递依赖关系。举例来说,如果将部门信息存储在每个员工记录的后面,那么部门名称依赖部门编号,部门编号又依赖员工编号,这就是传递依赖。解决的方法就是将部门信息单独存储到一个表中;
更高的范式包括 Boyce-Codd 范式、第四范式、第五范式以及第六范式等,不过很少使用到这些高级范式。对于大多数系统而言,满足第三范式即可。
    另外,反规范化(Denormalization)是在完成规范化之后执行的相反过程。反规范化通过增加冗余信息,减少 SQL 连接查询的次数,从而减少磁盘 IO 来提高查询时的性能。但反规范化会导致数据的重复,需要更多的磁盘空间,并且增加了数据维护的复杂性。
数据库的设计是一个复杂的权衡过程,需要综合考虑各方面的因素
-- 什么是实体关系图(ERD)?
实体关系图是一种用于数据库设计的结构图,它描述了数据库的实体,以及这些实体之间的相互关系。实体代表了一种对象或者概念。例如,员工、部门和职位可以称为实体。每个实体都有一些属性,例如员工拥有姓名、性别、工资等属性。
关系用于表示两个实体之间的关联。例如,员工属于部门。三种主要的关系是一对一、一对多和多对多关系。例如,一个员工只能属于一个部门,一个部门可以有多个员工,部门和员工是一对多的关系。
ERD 也可以按照抽象层次分为三种:
概念 ERD,即概念数据模型。概念 ERD 描述系统中存在的业务对象以及它们之间的关系。
逻辑 ERD,即逻辑数据模型。逻辑 ERD 是对概念数据模型进一步的分解和细化,明确定义每个实体中的属性并描述操作和事务。
物理 ERD,即物理数据模型。物理 ERD 是针对具体数据库的设计描述,需要为每列指定类型、长度、可否为空等属性,为表增加主键、外键以及索引等约束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值