利用SQL创建表结构

article/2025/10/4 3:32:48

一、创建图书管理系统,其中涉及到的对象有(图书分类,图书,学生,借书记录)

1、列出关系模式

(1) 书本类别(种类编号,种类名称)
(2) 学生(学生编号,学生姓名,学生性别,学生种类)
(3) 图书(书籍编号,书籍名称,书籍种类编号,书籍作者,书籍出版社,出版日期,登记日期,是否被借出)
(4) 借阅记录(书籍编号,学生编号,借书时间,还书时间)

2、数据库各表实现

–创建书本类别表
create table book_class
(
bookclassno varchar2(30) primary key,–种类编号
bookclass varchar2(30) --种类名称
);
–创建图书表
create table book_system
(
bookno varchar2(64) primary key, --书籍编号
bookname varchar2(64) not null, --书籍名称
bookclassno varchar2(30) not null, --书籍种类编号
bookauthor varchar2(64) not null , --书籍作者
bookpub varchar2(30), --书籍出版社
bookpuddate date, --书籍出版日期
bookkindate date, --书籍登记日期
isborrowed varchar2(2) --是否被借出
);
–创建学生表
create table students
(
stu_no varchar2(20), --学生编号
stu_name varchar2(64) not null, --学生姓名
stu_sex varchar2(2), --学生性别
stu_type varchar2(64) --学生种类
);
–创建借书记录表
create table record
(
bookno varchar2(64) not null, --书籍编号
stu_no varchar2(20) not null, --学生编号
borrowdate date not null, --借书时间
returndate date not null --还书时间
);

二、创建表和添加数据,根据这些表查出每个员工的薪资水平

1、首先创建表和添加数据

create table a_demo_emp
(
empno varchar(64),–员工编号
ename varchar(10) not null,–员工姓名
age number(3) not null,–员工年龄
job varchar(50),–职位
mgr_no varchar(64),–上级领导工号
hiredate date not null,–入职时间
sal number(12,2),–工资
comm number(12,2),–提成
dept_no varchar(64),–部门号
constraint age_check check(age>18 and age<100),
constraint empno_PRIMARY primary key(empno)
)

create table a_demo_dept
(
deptno varchar(64),–部门编号
dname varchar(20) not null,–部门名称
loc varchar(100) not null, --所在地
constraint deptno_primarykey primary key(deptno)
)

create table a_demo_salleve
(
GRADE varchar(64),–等级名字
LOSAL number(12,2),–最低工资
HISAL number(12,2)–最高工资
)

insert into a_demo_emp(empno,ename,age,job,mgr_no,hiredate,sal,comm,dept_no)
select ‘7369’ as empno,‘SMITH’ as ename,25 as age,‘CLERK’ as job,‘7902’ as mgr_no,to_date(‘1980/12/17’,‘yyyy/mm/dd’) as hiredate,800 as sal,NULL as comm,‘20’ as dept_no from dual
union all
select ‘7499’ as empno,‘ALLEN’ as ename,30 as age,‘SALESMAN’ as job,‘7698’ as mgr_no,to_date(‘1981/2/20’,‘yyyy/mm/dd’) as hiredate,1600 as sal,300 as comm,‘30’ as dept_no from dual
union all
select ‘7521’ as empno,‘WARD’ as ename,28 as age,‘SALESMAN’ as job,‘7698’ as mgr_no,to_date(‘1981/2/22’,‘yyyy/mm/dd’) as hiredate,1250 as sal,500 as comm,‘30’ as dept_no from dual
union all
select ‘7566’ as empno,‘JONES’ as ename,22 as age,‘MANAGER’ as job,‘7839’ as mgr_no,to_date(‘1981/4/2’,‘yyyy/mm/dd’) as hiredate,2975 as sal,NULL as comm,‘20’ as dept_no from dual
union all
select ‘7654’ as empno,‘MARTIN’ as ename,27 as age,‘SALESMAN’ as job,‘7698’ as mgr_no,to_date(‘1981/9/28’,‘yyyy/mm/dd’) as hiredate,1250 as sal,1400 as comm,‘30’ as dept_no from dual
union all
select ‘7698’ as empno,‘BLAKE’ as ename,34 as age,‘MANAGER’ as job,‘7839’ as mgr_no,to_date(‘1981/5/1’,‘yyyy/mm/dd’) as hiredate,2850 as sal,NULL as comm,‘30’ as dept_no from dual
union all
select ‘7782’ as empno,‘CLARK’ as ename,42 as age,‘MANAGER’ as job,‘7839’ as mgr_no,to_date(‘1981/6/9’,‘yyyy/mm/dd’) as hiredate,2450 as sal,NULL as comm,‘10’ as dept_no from dual
union all
select ‘7788’ as empno,‘SCOTT’ as ename,31 as age,‘ANALYST’ as job,‘7566’ as mgr_no,to_date(‘1987/4/19’,‘yyyy/mm/dd’) as hiredate,3000 as sal,NULL as comm,‘20’ as dept_no from dual
union all
select ‘7839’ as empno,‘KING’ as ename,28 as age,‘PRESIDENT’ as job,NULL as mgr_no,to_date(‘1981/11/17’,‘yyyy/mm/dd’) as hiredate,5000 as sal,NULL as comm,‘10’ as dept_no from dual
union all
select ‘7844’ as empno,‘TURNER’ as ename,39 as age,‘SALESMAN’ as job,‘7698’ as mgr_no,to_date(‘1981/9/8’,‘yyyy/mm/dd’) as hiredate,1500 as sal,0 as comm,‘30’ as dept_no from dual
union all
select ‘7876’ as empno,‘ADAMS’ as ename,29 as age,‘CLERK’ as job,‘7788’ as mgr_no,to_date(‘1987/5/23’,‘yyyy/mm/dd’) as hiredate,1100 as sal,NULL as comm,‘20’ as dept_no from dual
union all
select ‘7900’ as empno,‘JAMES’ as ename,24 as age,‘CLERK’ as job,‘7698’ as mgr_no,to_date(‘1981/12/3’,‘yyyy/mm/dd’) as hiredate,950 as sal,NULL as comm,‘30’ as dept_no from dual
union all
select ‘7902’ as empno,‘FORD’ as ename,25 as age,‘ANALYST’ as job,‘7566’ as mgr_no,to_date(‘1981/12/3’,‘yyyy/mm/dd’) as hiredate,3000 as sal,NULL as comm,‘20’ as dept_no from dual
union all
select ‘7934’ as empno,‘MILLER’ as ename,29 as age,‘CLERK’ as job,‘7782’ as mgr_no,to_date(‘1982/1/23’,‘yyyy/mm/dd’) as hiredate,1300 as sal,NULL as comm,‘10’ as dept_no from dual;

insert into a_demo_salleve(grade,losal,hisal)
select ‘1’,700,1200 from dual
union all
select ‘2’,1201,1400 from dual
union all
select ‘3’,1401,2000 from dual
union all
select ‘4’,2001,3000 from dual
union all
select ‘5’,3001,5000 from dual;

下图为a_demo_emp表中的数据
在这里插入图片描述
下图为a_demo_salleve表中的数据
在这里插入图片描述

2、查出每个员工的薪资水平

select * from a_demo_emp e;
select * from a_demo_salleve sl;

select e.empno,e.ename,e.sal,sl.grade
from a_demo_emp e
join a_demo_salleve sl
on e.sal>=sl.losal and e.sal<=sl.hisal
结果如图所示
在这里插入图片描述


http://chatgpt.dhexx.cn/article/hvphcZrP.shtml

相关文章

SQL创建表

要创建新的表&#xff0c;就要使用create table语句。 1、第一&#xff0c;要指定数据库的名称&#xff0c;必须是数据库有的&#xff0c;如果没有指定&#xff0c;那就默认是当前数据库。&#xff08;如图下所示是没有指定数据库的&#xff09; 2、第二&#xff0c;指定表的模…

SQL表的创建

一&#xff0c;创建表 1.使用普通方法创建表 1&#xff0c;进入SQL进行连接 2&#xff0c;在左边会有一个对象资源管理器&#xff0c;右键数据库&#xff0c;在弹出的窗口中选择新建数据库 3&#xff0c;给这个包取个名字&#xff0c;在这个界面可以给这个表选择存储地方&…

SQL语句之表的创建和使用

表 一、表的创建&#xff08;DDL&#xff09;1.建表的语法格式创建一个学生表 2.mysql中的数据类型3.删除表 二、在表中插入数据insert&#xff08;DML&#xff09;1.insert2.insert插入日期3.date和datetime区别 三、修改(update)DML1.语法格式 四、删除数据(delete)DML1.语法…

SQL 创建数据库,创建表

1.SQL CREATE DATABASE 语法 CREATE DATABASE 库名;创建数据库后&#xff0c;您可以在数据库列表中检查它。 SHOW DATABASES;2.SQL CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表。表由行和列组成&#xff0c;每个表都必须有个表名。 SQL CREATE TABLE 语法 C…

Autojs-识别验证码-超级鹰打码(全网独一份,求个三连不过分吧)

Autojs-识别验证码-超级鹰打码 前言先看效果再放代码封装一下1.识别图片2.报错返分3.查询用户的题分信息4.主函数 超级鹰文档错误码验证码类型&#xff08;截了几个常用的&#xff09;1.英文数字2.中文3.纯英文4.纯数字 最后求个三连~ 前言 JavaScript语言的超级鹰打码应该是全…

国内十大无代码平台,无代码app开发平台有哪些?

相信大家都知道&#xff0c;无代码开发就是软件开发者无需通过手工编码就可以达到目标需求的一种软件开发方式&#xff0c;降低了程序员对重复功能代码编写的任务量&#xff0c;使应用软件的开发效率得到了大幅提升&#xff0c;所以就备受欢迎&#xff0c;那么市面上哪些无代码…

html页面自动登录,抓取网页时自动登录和自动输入验证码

集搜客GooSeeker网页抓取软件可以与在线打码平台对接,如果抓取的网站要求输入验证码,那么就把验证码转发给在线打码平台,GooSeeker将打码平台给回的结果自动录入到网页上,完成打码过程。集搜客GooSeeker V5.1.0版本支持如下功能与联众打码平台对接,请用户自行在联众打码平…

测试-小程序打码平台

一、背景 1、小程序不同于H5有线上和线下环境&#xff0c;而是区分开发版、体验版、正式版&#xff0c;并且每个版本都有对应的权限管控 2、平时项目测试过程中&#xff0c;都是基于开发码进行测试和验收的&#xff1b; 3、开发码生成的流程&#xff1a;开发分支代码本地编译打…

php对接打码平台,易语言接入打码平台的方法

易语言作为一个可视化操作的中文编程软件&#xff0c;可以很更利的开发一些营销类的软件&#xff0c;能做自动化工作&#xff0c;这时对于有输入验证码的操作的&#xff0c;就要接入到打码平台了&#xff0c;现在看看易语言怎样接入到打码平台的&#xff01; 1、对于打码平台&a…

autojs-识别验证码-联众打码

联众官网进不去了 新写了超级鹰打码 需要的可以看看&#xff1a;https://blog.csdn.net/tfnmdmx/article/details/123329446 本篇保姆级教程&#xff0c;包括账号注册&#xff0c;获取点数&#xff0c;上传图片获得结果&#xff0c;结果报错以及返回用户点数函数&#xff01;…

两阶段(two stage)目标检测原理详解 -- RCNN

目录 一、目标检测的任务 二、什么是“两阶段”呢&#xff1f; 三、两阶段算法原理 &#xff08;二&#xff09;候选区域算法 &#xff08;三&#xff09;边框回归&#xff08; Bounding Box Regression &#xff09; 1. 非极大值抑制&#xff08;Non-Maximum Suppressio…

Apriltag定位原理与测试

Apriltag定位原理 二维码的检测工作的思路是提取一块四边形的区域&#xff0c;这个区域具有比周围亮度更低的特点。这个思路的主要优点是尽可能多的检测出所有可能的二维码&#xff0c;但是极有可能出现 false positive&#xff0c;后续的编码可以对野值进行剔除。 图 1 二维…

如何理解海森堡的「不确定性原理」?

维尔纳海森堡&#xff08;1901&#xff0d;1976&#xff09;&#xff0c;德国物理学家&#xff0c;量子力学创始人之一&#xff0c;“哥本哈根学派”代表性人物。 海森堡提出了著名的“不确定性原理”&#xff1a;一个运动粒子的位置和它的动量不可被同时确定。 我是物理科学…

万用表测不准简单维修

文章目录 1. 起因2. 故障表现3. 组装 1. 起因 这几天装灯暖浴霸&#xff0c;需要用到万用表&#xff0c;有点坏了&#xff0c; 是大一大二上电工电子实验课时候买的万用表&#xff0c;胜利V97&#xff0c;也得有7-8年了&#xff0c;100多块钱。 2. 故障表现 坏的表现是&am…

你也可以看懂,量子力学的困惑,测不准原理 薛定谔的猫 !

量子力学已经是现代物理学的基础学科之一&#xff0c;其影响力越来越大&#xff01;巨大的影响力迫使着人们了解它&#xff0c;可量子世界中的种种奇异现象却挑战着常人的逻辑底线。甚至 让许多物理爱好者也摸不着头脑&#xff0c; 以至于玻尔&#xff08;量子物理学家&#xf…

交易市场中的测不准原理

(图片来源于网络) 众所周知&#xff0c;在物理学中&#xff0c;微观粒子的速度&#xff08;动量&#xff09;和位置是无法同时精确测量的——也就是说&#xff0c;要么我们可以精确知道一个粒子此刻的速度&#xff0c;但是我们就不能知道它具体在哪个位置&#xff1b;要么我们可…

【数字信号处理】卷积和乘法系列3之测不准原理

关注公号【逆向通信猿】更精彩!!! 声明:底部的小广告标签并不是博主所加!! Heisenberg测不准原理 信息在时域中的扩展(尖峰之间的距离)与其在频域中的对应扩展之间的这种关系是Heisenberg不确定性原理的一个例子。时域中的扩展(方差)乘以频域中的扩展具有不能被突破的…

PCIE总线-PCI、PCIE关系及信号定义

PCI(Peripheral Component Interconnect)总线规范在上世纪九十年代由Intel提出。在处理器体系结构中&#xff0c;PCI总线属于局部总线(Local Bus)。局部总线作为系统总线的延伸&#xff0c;主要功能是为了连接外部设备。 处理器主频的不断提升&#xff0c;要求速度更快&#x…

7、PCIE总线-PCI、PCIE关系及信号定义

PCI(Peripheral Component Interconnect)总线规范在上世纪九十年代由Intel提出。在处理器体系结构中&#xff0c;PCI总线属于局部总线(Local Bus)。局部总线作为系统总线的延伸&#xff0c;主要功能是为了连接外部设备。 处理器主频的不断提升&#xff0c;要求速度更快&#x…

PCIe总线了解

转载于&#xff1a;若风飘茫的博客 PCIe总线概述 随着现代处理器技术的发展&#xff0c;在互连领域中&#xff0c;使用高速差分总线替代并行总线是大势所趋。与单端并行信号相比&#xff0c;高速差分信号可以使用更高的时钟频率&#xff0c;从而使用更少的信号线&#xff0c;完…