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
相关文章:

SQL server 数据库练习题及答案(练习3)
一、编程题 公司部门表 department 字段名称 数据类型 约束等 字段描述 id int 主键,自增 部门ID name varchar(32) 非空,唯一 部门名称 description varchar(1024) …...

太绝了!这个食堂服务,戳中了打工人的心巴!
在当今数字化时代,科技的迅猛发展已经渗透到我们生活的方方面面,其中餐饮行业也不例外。食堂作为人们日常生活中不可或缺的一部分,其管理和运营也需要紧跟科技潮流。 智慧收银系统的引入,旨在提高食堂的效率、准确性和服务水平&am…...

围栏中心点
后端返回的数据格式是 [{height: 0,lat: 30.864277169098443,lng:114.35252972024682}{height: 1,lat: 30.864277169098443,lng:114.35252972024682}.........]我们要转换成 33.00494857612568,112.53886564762979;33.00307854503083,112.53728973842954;33.00170296814311,11…...
【go-zero】simple-admin框架 整合ent mysql批量插入 | ent批量插入mysql
一、完整流程 我们需要通过goctls快速生成一个RPC项目 【go-zero】simple-admin 开篇:进击 go-zero 二开框架 simple-admin 加速 go-zero 开发 之 rpc项目快速创建(更新中~) https://ctraplatform.blog.csdn.net/article/details/130087729 1、RPC项目 1.1、.proto synta…...

漏洞复现-泛微OA xmlrpcServlet接口任意文件读取漏洞(附漏洞检测脚本)
免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…...

Flink CDC 1.0至3.0回忆录
Flink CDC 1.0至3.0回忆录 一、引言二、CDC概述三、Flink CDC 1.0:扬帆起航3.1 架构设计3.2 版本痛点 四、Flink CDC 2.0:成长突破4.1 DBlog 无锁算法4.2 FLIP-27 架构实现4.3 整体流程 五、Flink CDC 3.0:应运而生六、Flink CDC 的影响和价值…...
c语言例题7
以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空。 #define N 3 #define M 4 void LineMax(int x[N][M]) { int i,j,p; for(i0; i<N;i) { p0; for(j1; j<M;j) …...

【Linux驱动】最基本的驱动框架 | LED驱动
🐱作者:一只大喵咪1201 🐱专栏:《Linux驱动》 🔥格言:你只管努力,剩下的交给时间! 目录 🏀最基本的驱动框架⚽驱动程序框架⚽编程 🏀LED驱动⚽配置GPIO⚽编程…...
前端---表单提交
1. 表单属性设置 <form>标签 表示表单标签,定义整体的表单区域 action属性 设置表单数据提交地址method属性 设置表单提交的方式,一般有“GET”方式和“POST”方式, 不区分大小写 2. 表单元素属性设置 name属性 设置表单元素的名称,…...

[C#]Parallel使用
一、 Parallel的使用 1、Parallel.Invoke2、Parallel.For3、Parallel.Foreach二、 Parallel中途退出循环和异常处理 1、当我们使用到Parallel,必然是处理一些比较耗时的操作,当然也很耗CPU和内存,如果我们中途向停止,怎么办呢&…...
docker container 指定gpu设备
1, 在yaml中 Turn on GPU access with Docker Compose | Docker Docs Example of a Compose file for running a service with access to 1 GPU device: services:test:image: nvidia/cuda:12.3.1-base-ubuntu20.04command: nvidia-smideploy:resources:reserva…...

时间Date
你有没有思考过时间问题: 前端为什么可以直接看见时间格式的数据 后端怎么接受的数据,怎么处理的 一般来说:前端传输来数据都是时间格式的字符串,那么后端需要能够解析时间格式的字符串,归功于JSONFormat ,可以解析…...
前端---css 选择器
1. css 选择器的定义 css 选择器是用来选择标签的,选出来以后给标签加样式。 2. css 选择器的种类 标签选择器类选择器层级选择器(后代选择器)id选择器组选择器伪类选择器 3. 标签选择器 根据标签来选择标签,以标签开头,此种选择器影响范…...

【MybatisPlus快速入门】(2)SpringBoot整合MybatisPlus 之 标准数据层开发 代码示例
目录 1 标准CRUD使用2 新增3 删除4 修改5 根据ID查询6 查询所有7 MyBatis-Plus CRUD总结 之前我们已学习MyBatisPlus在代码示例与MyBatisPlus的简介,在这一节中我们重点学习的是数据层标准的CRUD(增删改查)的实现与分页功能。代码比较多,我们一个个来学习…...
如何将自建的ElasticSearch注册成一个服务
ES 服务管理 注册ES服务 创建一个 Elasticsearch 服务配置文件。 sudo vim /etc/systemd/system/elasticsearch.service 将以下内容复制到 elasticsearch.service 文件中: [Unit] Descriptionelasticsearch Afternetwork.target[Service] Typeforking Useresa…...
360勒索病毒:了解最新变种.360,以及如何保护您的数据
导言: 随着科技的飞速发展,网络安全威胁也在不断演变,.360 勒索病毒成为近期备受关注的一种恶意软件。本文91数据恢复将介绍如何恢复被.360 勒索病毒加密的数据文件,并提供一些建议,帮助你预防这种威胁。 如果您在面对…...

vue使用ElementUI搭建精美页面入门
ElementUI简直是css学得不好的同学的福音 ElementUI官网: Element - The worlds most popular Vue UI framework 安装 在vue文件下,用这个命令去安装Element UI。 npm i element-ui -S step1\先切换到vue的目录下去,注意这里面的WARN不是…...

【C->Cpp】深度解析#由C迈向Cpp(2)
目录 (一)缺省参数 全缺省参数 半缺省参数 缺省参数只能在函数的声明中出现: 小结: (二)函数重载 函数重载的定义 三种重载 在上一篇中,我们从第一个Cpp程序为切入,讲解了Cpp的…...

WPS中如何根据身份证号生成出生日期并排序
1. wps中如何根据身份证号导出出生日期并排序 1.1 wps中建一张表 1.2 使用转日期格式导出出生日期 DATE(VALUE(MID(C2,7,4)),VALUE(MID(C2,11,2)),VALUE(MID(C2,13,2)))MID(C2, 7, 4):这部分从单元格 C2 中提取文本字符串,从第7个字符开始提取长度为4的…...

20231222给NanoPC-T4(RK3399)开发板的适配Android11的挖掘机方案并跑通AP6398SV
20231222给NanoPC-T4(RK3399)开发板的适配Android11的挖掘机方案并跑通AP6398SV 2023/12/22 7:54 简略步骤:rootrootrootroot-X99-Turbo:~/3TB$ cat Android11.0.tar.bz2.a* > Android11.0.tar.bz2 rootrootrootroot-X99-Turbo:~/3TB$ tar jxvf Android11.0.tar.…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...