Oracle day10

create table category(
       类目id number,
       父类目id number,
       描述 char(500)       
)
--insert into category(类目id,父类目id) values(1001,1);
/*insert into category values(1,0,'0为根类目');
insert into category(类目id,父类目id) values(1002,2);
insert into category(类目id,父类目id) values(1001003,1001);
insert into category(类目id,父类目id) values(1001004,1001);
insert into category(类目id,父类目id) values(2,0);
insert into category(类目id,父类目id) values(1002005,1002);*/

select* from category;

with tt as (select c1.类目id 三级类目,c2.类目id 二级类目,c2.父类目id from category c1
join category c2 on c1.父类目id = c2.类目id) 
select t1.三级类目,t1.二级类目,t2.二级类目 一级类目,t2.父类目id 根类目 from tt t1 join tt t2 
on t1.父类目id = t2.二级类目

select c1.类目id 三级类目,c2.类目id 二级类目,c3.类目id 一级类目,c3.父类目id 根类目 from category  c1
join category c2 on c2.类目id=c1.父类目id
join category  c3 on c3.类目id=c2.父类目id

create table stu_table(
       sno number primary key,
       card_id number not null unique,
       name char(500) not null,
       gender char(3) check(gender in ('男','女'))
)
/*insert into stu_table values(101,10001,'张三','男');
insert into stu_table values(102,10002,'李四','女');
insert into stu_table values(103,10003,'王五','男');
insert into stu_table values(104,10004,'赵六','女');*/
create table grade(
       sno number references stu_table(sno),
       levle char 
)
--删除字段
alter table grade drop column levle;

--增加字段
alter table grade add grade char(50);
alter table stu_table add address char(500);


select * from stu_table;
select * from grade;
/*insert into grade values(101,'一年级');
insert into grade values(102,'二年级');
insert into grade values(103,'三年级');
insert into grade values(104,'四年级');
--105 插不进去,因为主表stu_table 中不含有sno=105的数据
insert into grade values(105,'五年级');
*/

--修改表名
alter table stu_table rename to stu;
--修改字段属性
alter table stu modify address number;
--修改字段名
alter table stu rename column address to age;
--添加约束
alter table stu add constraint c_age check(age between 1 and 120)
--删除约束
alter table stu drop unique(card_id);
alter table stu add constraint c_unique unique(card_id);

update stu set age = 22 where sno = 101;
--删除表
--drop table 表名

select * from stu;
select OWNER,CONSTRAINT_NAME 本表约束名
,TABLE_NAME,R_OWNER,R_CONSTRAINT_NAME 外键关联他表约束名
from user_constraints where TABLE_NAME in('stu','grade');
------------------------------------------------------------------------------------

--给四张表创建备份
create table student1 as select * from student;
create table course1 as select * from course;
create table sc1 as select * from sc;
create table teacher1 as select * from teacher;

drop table student1 ;
drop table course1 ;
drop table sc1 ;
drop table teacher1 ;


--1.删除学习‘谌燕’老师课的SC 表记录:
select * from sc1;
delete from sc1 where cno in 
(select cno from course1 where tno in 
(select tno from teacher1 where tname = '谌燕'));

--2.将‘c002’课程的成绩增加5分:
update sc1 set score = score+5 where cno = 'c002';

--3.将‘c001’课程成绩小于80分的同学的成绩增加10分:
update sc1 set score = score+10 where cno = 'c001' and score < 80;

--4.增加一个学生信息:学号:'s013',姓名:'王麻子',年龄:28,性别:男:
insert into student1 values('s013','王麻子',28,'男')

--5.向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号‘c002’课程的同学学号、‘c002’和‘c002’号课的平均成绩:
insert into sc1 select sno  ,'c002',(select avg(score) from sc1 where cno = 'c002') 
from sc1 where sno not in (select sno from sc1 where cno = 'c002') 

--6.找出没有选择‘c003’课程的学生,并为他们选上‘c003’课程,默认分类为60分:

insert into sc1 select t.sno
,'c003',60 from (select distinct sno from sc1 where sno not in 
(select sno from sc1 where cno = 'c003')) t

--7.给所有女学生的成绩加10分:
update sc1 set score = score + 10 where sno in 
(select sno from student1 where ssex = '女');

--8.创建一张和sc表相同结构的表,并将‘s001’和‘s002’学生的选课信息插入新表中:
create table sc2 as select * from sc1;
truncate table sc2;
select * from sc2;
insert into sc2 select sno,cno,score from (select * from sc1 where sno in ('s001','s002'));

--9.将所有‘c001’课程成绩低于平均成绩的同学的分数改为60分:
update sc1 set score = 60 where cno = 'c001' and score < (select avg(score) from sc1)

--10.删除‘s002’同学选择‘c001’课程的记录:
delete from sc1 where sno='s002' and cno = 'c001'

--11.删除‘s002’同学的‘c001’课程的成绩:
update sc1 set score = null where sno='s002' and cno = 'c001'

--12.将s001学生的所有课程成绩改为他自己的平均成绩:
update sc1 set score =
(select avg(score) score from sc1 where sno = 's001'group by sno)
where sno = 's001';

--13.将s001学生的所有课程成绩改为各科的平均成绩:
merge into sc1 t
using (select 's001' as sno,cno,avg(score) score from sc1 group by cno) s
on (t.sno = s.sno and t.cno = s.cno)
when matched then
update set t.score = s.score;


--14.使用备份表将30号部门的员工工资修改为10号部门的平均工资加上300元:
create table emp_bak as select * from emp;
select * from emp_bak;
update emp_bak set sal = 300 + (select avg(sal) from emp_bak where deptno = 10) where deptno = 30

--15.给任职日期超过30年的员工加薪10%:
update (select * from emp_bak where months_between(sysdate,hiredate) > 30*12) set sal = sal+0.1*sal 

--16.删除下属工资低于1500的领导员工信息:
delete from emp_bak where empno in
(select distinct mgr from emp_bak where sal < 1500);

--17.将各种工作的最低薪金,上调1500:
update emp_bak set sal = sal+1500 where (job,sal) in
(select job,min(sal) from emp_bak group by job);

--18.删除与‘SCOTT’从事相同工作的所有雇员:
delete from emp_bak where job = 
(select job from emp_bak where ename = 'SCOTT')

--19.将工作地点在‘NEW YORK’或‘CHICAGO’的员工工资增加500:
create table dept_bak as select * from dept;
update emp_bak set sal=sal+500 where deptno in 
(select deptno from dept_bak where loc in ('NEW YORK','CHICAGO'));

--20.更改奖金为NULL的员工,将奖金设置为0:
update emp_bak set sal = 0 where comm is null;


-- 创建一张学生表(stuu),包含以下信息,学号(主键)(sno),姓名(sname),年龄(sage),性别(ssex),家庭住址(addr),联系电话(phone);
drop table stuu;
create table stuu(
       sno number primary key,
       sname char(50),
       sage number,
       ssex char(3),
       addr char(500),
       phone char(11)       
)
-- 修改学生表的结构,添加一列信息,学历(edu);
alter table stuu add edu char(50);

-- 修改学生表的结构,删除一列信息,家庭地址(addr);
alter table stuu drop column addr;
alter table stuu modify sno char(50);

-- 向学生表添加如下信息:
/*
学号   姓名   年龄   性别   联系电话   学历

s01   张三     22     男     123      小学
s02   李四     21     男     119      中学
s03   王五     23     男     110      高中
s04   赵六     18     女     114      大学
*/
insert into stuu values('s01','张三',22,'男',123,'小学');
insert into stuu values('s02','李四',21,'男',110,'中学');
insert into stuu values('s03','王五',23,'男',123,'高中');
insert into stuu values('s04','赵六',18,'女',114,'小学');

create table stuu1 as select * from stuu;
create table stuu2 as select * from stuu;
select * from stuu1;
-- 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”;
update stuu1 set edu = '大专' where phone like '11%';

-- 删除学生表的数据,将姓王,并且性别为‘男’的记录删除;
delete from stuu1 where ssex = '男' and sname like '王%';

-- 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号显示出来;
select sname,sno from stuu1 where sage < 22 and edu = '大专';

-- 查询学生表的数据,查询所有信息,列出学历最高的前三名的记录;
select * from stuu;
select t.*,rownum from
(select s.*,decode(trim(s.edu),'大学',1,'大专',2,'高中',3,'中学',4,'小学',5) grade from stuu s order by grade)t
where rownum < 4;

-- 查询出所有学生的姓名、性别、年龄,按年龄降序排列;
select sname,ssex,sage from stuu order by sage desc;

-- 按照性别分组查询所有的平均年龄;
select ssex,avg(sage) from stuu group by ssex;

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

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

相关文章

USB2.0学习1--基本概念

目录 1.USB概念 2.USB协议发展 3.USB接口类型 3.1 TYPE类型 3.2 Mini类型 3.3 Micro类型 4. USB体系结构和关键概念 4.1 USB工作原理 4.2 USB物理拓扑结构 4.3 USB逻辑拓扑结构 4.4 USB软件架构 4.5 USB数据流模型 4.5.1 USB设备端点 4.5.2 USB管道 4.6 USB即插…

网工内推 | 国企信息工程师,信息系统项目管理师优先,最高14薪

01 上海浦东软件园股份有限公司 &#x1f537;招聘岗位&#xff1a;信息化管理工程师 &#x1f537;岗位职责&#xff1a; 1. 根据公司战略、数字化总体架构规划和IT 技术趋势&#xff0c;制定信息化系统的规划与设计&#xff0c;并制定实施计划。 2. 统筹公司信息化系统管理…

Redis-实战篇-缓存击穿问题及解决方案

文章目录 1、缓存击穿2、常见的解决方案有两种&#xff1a;2.1、互斥锁2.2、逻辑过期2.3、两种方案对比 3、利用互斥锁解决缓存击穿问题3.1、ShopServiceImpl.java3.2、使用 jmeter.bat 测试高并发 4、利用逻辑过期解决缓存击穿问题 1、缓存击穿 缓存击穿问题 也叫 热点key问题…

LeetCode 2741.特别的排列:状压DP

【LetMeFly】2741.特别的排列&#xff1a;状压DP 力扣题目链接&#xff1a;https://leetcode.cn/problems/special-permutations/ 给你一个下标从 0 开始的整数数组 nums &#xff0c;它包含 n 个 互不相同 的正整数。如果 nums 的一个排列满足以下条件&#xff0c;我们称它是…

<电力行业> - 《第4课:什么是电力?什么是发输变配用5环节?》

1 什么是电力&#xff1f; 我们对于平日生活中离不开的电很熟悉&#xff0c;但是电力是什么&#xff1f; 其实&#xff0c;电力就是电能作为动力的能源。电力就是我们说的电&#xff0c;不过更多了系统化。 19世纪70年代&#xff0c;电力的发明和应用掀起了第二次工业化高潮。…

关于WebSocket

WebSocket 与传统的 HTTP 协议对比 在实时通信领域&#xff0c;传统的 HTTP 协议存在以下一些问题&#xff1a; 频繁的请求和响应&#xff1a;每次通信都需要建立和关闭连接&#xff0c;带来额外的开销。高延迟&#xff1a;每次通信都需要经过多个网络层的传输&#xff0c;延…

Stm32的DMA的学习

一&#xff0c;介绍 二&#xff0c;DMA框图 三&#xff0c;DMA通道 四&#xff0c;相关HAL库函数 五&#xff0c;配置DMA 六&#xff0c;Stm32CubeMX配置 【13.1】减少CPU传输负载 DMA直接存储器访问—Kevin带你读《STM32Cube高效开发教程基础篇》_哔哩哔哩_bilibili

【鸿蒙 HarmonyOS】尺寸设置:size/layoutWeight/constraintSize

一、背景 常见尺寸&#xff1a;width&#xff08;宽度&#xff09;、height&#xff08;高度&#xff09;、padding&#xff08;内边距&#xff09;、margin&#xff08;外边距&#xff09; 主要整理下size&#xff08;设置高宽尺寸&#xff09;、layoutWeight&#xff08;对…

主干网络篇 | YOLOv5/v7 更换骨干网络之 PP-LCNet | 轻量级CPU卷积神经网络

主干网络篇 | YOLOv5/v7 更换骨干网络之 PP-LCNet | 轻量级CPU卷积神经网络&#xff1a;中文详解 1. 简介 YOLOv5 和 YOLOv7 是目前主流的目标检测算法之一&#xff0c;具有速度快、精度高的特点。但 YOLOv5 和 YOLOv7 的原始模型结构中使用的是 MobileNetV3 作为骨干网络&am…

Redis数据库(五):Redis数据库基本特性

这一节我们来介绍如何使用C语言的库来操作Redis数据库。 目录 一、hiredis的安装 1.1 下载源码 1.2 解压 1.3 进入hiredis路径下 1.4 利用makefile文件进行编译 二、接口介绍 三、C程序操作Redis代码 四、redis.conf配置文件详解 五、Redis的持久化 5.1 RDB &#x…

Compose学习记录(2)-组件状态

Compose中的状态 可组合函数可以按任意顺序频繁执行&#xff0c;对于组件中的状态需要通过特定方式保存起来。当状态发生变化时&#xff0c;它会自动触发组件UI的重组: remember{ mutableStateOf(T) } Composable fun Greeting(name: String, modifier: Modifier Modifier) {…

STM32CubeMX与RT-Thread Studio协助使用(实现点亮LED)

1创建自己的项目 1-1选择板子 1-2生成的项目 运行一下看是否创建成功 零警告零错误 2配置STM32Cude 2-1找打如图图标点击&#xff08;CubeMX的图标&#xff09; 2-2输入自己安装的路径选中exe文件 点击Browse 找到如图选中&#xff0c;在打开&#xff08;STM32CubeMX的安装路…

202406261021_二分查找2

202406261021_二分查找2 ✏随笔34. 在排序数组中查找元素的第一个和最后一个元素代码总结 69. x的平方根代码总结 367. 有效的完全平方数代码总结 (Weather::上海 ⛅多云&#xff0c;13~23℃ 良 清风徐徐&#x1f318;) ✏随笔 34. 在排序数组中查找元素的第一个和最后一个元素…

echarts 5.5.0版本下的层叠柱形图,每个值都从0开始,会有覆盖情况

需求&#xff1a; 1、每个公司&#xff0c;需要两个柱子去展示&#xff08;stack: 1是第一个柱子&#xff0c;stack:2,是第二个柱子&#xff09;&#xff1b; 2、必须每个数据都是从0开始&#xff0c;不在上一个值上累加&#xff1b; 3、鼠标滑上去的时候&#xff0c;最大值…

什么是API?如何进行API对接?

目录 一、API和API对接的定义 二、API接口的应用场景 三、为什么需要API对接 四、如何进行API对接 GET请求 POST请求 五、API对接的注意事项 在这个数字化时代&#xff0c;API像一把万能钥匙&#xff0c;让数据流动起来&#xff0c;创造出无限可能。本文旨在介绍API及其…

点云处理实战 PCL求解点云表面曲率

目录 一、什么是曲率 二、曲率计算过程 三、pcl 求解点云局部曲率 四、思考?为何曲率计算会使用协方差矩阵? 五、推荐阅读 一、什么是曲率 曲率是几何学中用来描述曲线或曲面形状变化的一个量。它反映了曲线或曲面的弯曲程度。在不同的上下文中,曲率的定义和计算方式有…

如何在Spring Boot中实现文件上传和下载

如何在Spring Boot中实现文件上传和下载 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨如何在Spring Boot应用中实现文件的上传和下载功能&…

科普:什么是 BC-404 ?全方位解读最新通缩型 NFT 标准

区块链技术飞速发展的今天&#xff0c;创新从未停歇。继 ERC-404 标准问世后&#xff0c;一个名为 BC-404 的新标准应运而生&#xff0c;为 NFT 市场带来了全新的可能性。BC-404&#xff08;Bonding Curve 404&#xff09;—基于对 ERC-404 的改进&#xff0c;加密货币中第一个…

在ROS2中蓝牙崩溃的原因分析

在ROS2中&#xff0c;如果蓝牙模块没有成功启动&#xff0c;可能的原因有几个方面&#xff1a; 1. **硬件问题**&#xff1a;首先需要确认蓝牙硬件本身是否正常工作&#xff0c;包括检查蓝牙模块是否正确连接到系统&#xff0c;以及模块是否存在物理损坏。 2. **驱动问题**&a…

三、知识库搭建

知识库搭建 1 介绍词向量向量数据库 2 使用embedding API3 数据处理数据加载数据清洗文档分割 4 搭建并使用向量数据库4.1 自定义embedding封装4.2 chroma数据库4.3 向量检索 详细代码参考&#xff1a;https://github.com/lin902/llm-application 1 介绍 词向量 词向量就是把…