SQL server 数据库练习题及答案(练习3)

一、编程题

公司部门表 department

字段名称

数据类型

约束等

字段描述

id                      

int   

主键,自增               

部门ID

name               

varchar(32)     

非空,唯一

部门名称

description     

varchar(1024)

      

部门简介

员工信息表 person

字段名称

数据类型

约束等

字段描述

id                               

int   

主键,自增            

员工ID

name                        

varchar(32)     

非空        

员工姓名

sex                            

varchar(8)       

非空        

员工性别

department_id       

int   

非空,外键            

员工所在部门ID

age 

int   

非空                

员工年龄

客户信息表  customer

字段名称

数据类型

约束等

字段描述

id

int   

主键,自增   

客户ID   

name

varchar(32)     

非空                

客户姓名

tel                     

varchar(32)     

非空,唯一   

客户电话

person_id

int

非空,外键

所属业务员(员工)ID

detail      

varchar(1024)

客户详细信息

问题要求:

1:创建数据库

2:创建三张表

3:添加最少3个部门信息,如下表

4:添加最少5条员工信息,市场部最少4人,如下表

5:给4中的每位市场部员工添加最少3位客户,总条数不低于12条,如下表

6:将员工ID为5的其中一位姓名为"邓婕"的客户转换成员工ID为2的客户

7:将电话为"13937745615"的客户信息删除

8:查询出所有部门信息

9:查询出所有员工信息

10:查询出所有客户信息

11:查询所有性别为女的员工信息

12:查询所有电话是"139"开头的客户信息

13:查询员工的平均年龄

14:统计公司总共有多少客户信息

15:按照年龄从小到大排序输出所有员工信息

16:按照所属员工ID正序输出所有客户信息

17:统计每个部门的员工数,输出部门ID,员工数量

18:统计出每个员工的客户数量,输出员工ID,客户数量

19:统计出男女员工各有多少人,要求输出性别、人数

20:查询出有员工的部门名称及员工姓名

21:查询出所有部门及其员工信息,没有员工信息的以NULL输出,要求输出部门名称,员工姓名,员工性别,员工年龄。

答案:

/*创建数据库*/
create database gao
on primary 
(name="gao_data",
filename="c:\gao\gao_data.mdf", 
size=8MB,
maxsize=100MB, 
filegrowth=10%) 
log on 
(name="gao_log.ldf", 
filename="c:\gao\gao_log.ldf", 
size=1MB, 
filegrowth=10%) 

use gao/*切换数据库*/

--创建 department表
CREATE TABLE department (
    id INT PRIMARY KEY identity(1,1),
    name VARCHAR(32) NOT NULL UNIQUE,
    description VARCHAR(1024)
);

--创建person表
CREATE TABLE person (
    id INT PRIMARY KEY identity(1,1),
    name VARCHAR(32) NOT NULL,
    sex VARCHAR(8) NOT NULL,
    department_id INT NOT NULL FOREIGN KEY REFERENCES department(id),
    age INT NOT NULL,
);

--创建customer表
CREATE TABLE customer (
    id INT PRIMARY KEY identity(1,1),
    name VARCHAR(32) NOT NULL,
    tel VARCHAR(32) NOT NULL UNIQUE,
    person_id INT NOT NULL FOREIGN KEY REFERENCES person(id),
    detail VARCHAR(1024),
);


--查看department表
select * from department
--添加部门信息
INSERT department values
('人力资源部', '管理人员信息'),
('市场部', '负责市场客户开发及客户维护'),
('财务部', '负责公司财务'),
('软件开发部', '负责公司软件开发')


--查看person表
select * from person
--添加员工信息
INSERT person values
('杨朝来', '男', 1, 35),
('蒋平', '男', 2, 20),
('唐灿', '女', 2, 22),
('马达', '男', 2, 21),
('赵小雪', '女', 2, 18),
('刘小梅', '女', 3, 36)


--查看customer表
select * from customer
--添加客户信息
INSERT customer values
('凡小芬', '13937712345', 2, '已沟通,有意向'),
('文彭凤', '13937745681', 2, '已沟通,有意向'),
('王丽', '1771548746', 2, '电话无法联系'),
('王建华', '13937745615', 3, '已沟通'),
('王梓人', '19912568745', 3, '暂无沟通'),
('王震', '13615648542', 3, '电话无法联系'),
('王保真', '18770126667', 3, '已沟通'),
('王景亮', '18885186808', 4, '已沟通'),
('王丹', '15131426062', 4, '已沟通'),
('邓志勇', '15533605595', 4, '已沟通'),
('邓婕', '15125866659', 5, '已沟通'),
('叶如红', '13722557687', 5, '已沟通'),
('付伟娜', '15831659609', 5, '已沟通')

--6、
update customer
set person_id = 2
where person_id = 5 and name = '邓婕'
--7、
delete from customer
where tel = '13937745615'
--8、
select * from department
--9、
select * from person
--10、
select * from customer
--11、
select * from person
where sex = '女'
--12、
select * from customer where tel like '139%'
--13、
select avg(age) 平均年龄 from person
--14、
select count(id) 总共多少客户 from customer
--15、
select * from person order by age asc
--16、
select * from customer order by id asc
--17、
select department_id,count(name) 员工数量 from person group by department_id
--18、
select person_id,count(name) 客户数量 from customer group by person_id
--19、
select sex,count(name) 人数 from person group by sex
--20、
select de.name,pe.name from department de inner join person pe on de.id=pe.department_id
--21、
select de.name,pe.name,pe.sex,pe.age from department de left join person pe on de.id=pe.department_id

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MR实战:分科汇总求月考平均分

文章目录 一、实战概述二、提出任务三、完成任务(一)准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 (二)实现步骤1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、创建学生实体类5、创建科目平均分映射器类…

混合专家模型(MoE)2022-2023顶会顶刊论文合集,包含算法、系统、应用3大类

混合专家模型(MoE)是一种深度学习技术,它通过将多个模型(这些模型被称为"专家")直接结合在一起,以加快模型训练的速度,获得更好的预测性能。这种模型设计策略在大模型中尤为重要&…

W5100S-EVB-Pico评估版介绍

文章目录 1 简介2 硬件资源2.1 硬件规格2.2 引脚定义2.3 工作条件 3 参考资料3.1 Datasheet3.2 原理图3.3 尺寸图(单位:mm)3.4 参考例程 4 硬件协议栈优势 1 简介 W5100S-EVB-Pico是一款基于树莓派RP2040和全硬件TCP/IP协议栈以太网芯片W5100…

Java经典框架之Spring MVC

Spring MVC Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. Spring MVC 入门案例 2. 基…

Android 13 - Media框架(26)- OMXNodeInstance(三)

上一节我们了解了OMXNodeInstance中的端口定义,这一节我们一起来学习ACodec、OMXNode、OMX 组件使用的 buffer 到底是怎么分配出来的,以及如何关联起来的。(我们只会去了解 graphic buffer的创建、input bytebuffer的创建、secure buffer的创…

博客摘录「 Apollo安装和基本使用」2023年11月27日

一、常见配置中心对比 Spring Cloud Config: https://github.com/spring-cloud/spring-cloud-configApollo: https://github.com/ctripcorp/apolloNacos: https://github.com/alibaba/nacos 对比项目/配置中心 spring cloud config apollo nacos(重点) 开源时间 2014.9 …

尺寸公差分析与尺寸链计算软件-DTAS3D到底能给我们带来哪些价值?

【技能】DTAS3D能给我们带来哪些价值? DTAS3D是一款高度集成的公差分析软件,旨在为产品开发团队提供准确的建议,从而放心地将设计发布给制造部门。下面是DTAS3D的关键价值和应用: 1.与三维CAD无缝集成: DTAS3D与三维CAD软件 (CATIA、NX、Cr…

scala学习七:集合

一、集合colletion Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。 Scala 集合分为可变的和不可变的集合。 可变集合可以在适当的地方被更新或扩展。可以修改,添加,移除一个集合的元素。 而不可变集合类,永远不会改变…

【操作系统】探究进程奥秘:显示进程列表的解密与实战

​🌈个人主页:Sarapines Programmer🔥 系列专栏:Linux专栏:《探秘Linux | 操作系统解密》⏰诗赋清音:月悬苍穹泛清辉,梦随星河徜徉辉。情牵天际云千层,志立乘风意自飞。 ​ 目录 &a…

Go_defer详解

defer 1. 前言 defer语句用于延迟函数的调用,每次defer都会把一个函数压入栈中,函数返回前再把延迟的函数取出并执行。 为了方便描述,我们把创建defer的函数称为主函数,defer语句后面的函数称为延迟函数。 延迟函数可能有输入…

IDEA 2022.2 安装教程

1.下载2020.3版本IDEA 链接:https://pan.baidu.com/s/1IFK8VRjT7vM2VM75ToveGQ?pwd176m 提取码:176m 2.安装 下载完成后,双击exe安装包,出现IDEA安装欢迎首页: 3.将 ja - netfiltet 文件复制到idea安装目录附件 …

Docker部署Nexus Maven私服并实现远程访问Nexus界面

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 1. Docker安装Nexus2. 本地访问Nexus3. Linux安装Cpolar4. 配置Nexus界面公网地址5. 远程访问 Nexus界面6. 固定N…

【ONE·MySQL || 基础介绍】

总言 主要内容:MySQL在Centos 7下的安装(主要学习相关指令语句,理解安装操作是在做什么)、对MySQL数据库有一个基础认识。 文章目录 总言0、MySQL的安装与卸载(Centos 7)0.1、MySQL的卸载0.1.1、卸载不必要…

面向对象设计与分析40讲(15)简单工厂方法模式

文章目录 定义示例优缺点定义 简单工厂模式是一种创建型模式,用于根据客户端的需求创建对象实例,所谓的需求反映到编程语言里就是传入的参数。 简单工厂模式包括三个主要部分: 工厂类(Simple Factory):这是整个模式的核心。它负责根据客户端的请求来创建并返回相应的对…

.Net7.0 或更高版本 System.Drawing.Common 上传图片跨平台方案

项目升级.Net7.0以后,System.Drawing.Common开关已经被删除,且System.Drawing.Common仅在 Windows 上支持 ,于是想办法将原来上传图片验证文件名和获取图片扩展名方法替换一下,便开始搜索相关解决方案。 .Net6.0文档:…

Java Web基础详解

回顾 之前的两篇的文章已经大概的带我们了解了tomcat的一些基本的操作,比如从零搭建我们自己的调试环境以及官方文档构建的方式,接下来的话,我将带大家来了解一下tomcat的一些基础知识,这些基础知识将以问题的方式抛出&#xff0…

移动开发新的风口?Harmony4.0鸿蒙应用开发基础+实践案例

前段时间鸿蒙4.0引发了很多讨论,不少业内人士认为,鸿蒙将与iOS、安卓鼎足而三了。 事实上,从如今手机操作系统竞赛中不难看出,安卓与iOS的形态、功能逐渐趋同化,两大系统互相取长补短,综合性能等差距越来越…

索引进阶 | 再谈 MySQL 的慢 SQL 优化

索引可以提高数据检索的效率,降低数据库的IO成本。 MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。 MySQL提供了Explain,用于显示SQL执行的详细信息,可以…

《Git快速入门》Git分支

1.master、origin、origin/master 区别 首先搞懂git分支的一些名称区别: master : Git 的默认分支名字。它并不是一个特殊分支、跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它&#xff0c…

iOS设备信息详解

文章目录 ID 体系iOS设备信息详解IDFA介绍特点IDFA新政前世今生获取方式 IDFV介绍获取方式 UUID介绍特点获取方式 UDID介绍获取方式 OpenUDID介绍 Bundle ID介绍分类其他 IP地址介绍获取方式 MAC地址介绍获取方式正常获取MAC地址获取对应Wi-Fi的MAC地址 系统版本获取方式 设备型…