【Oracle】玩转Oracle数据库(四):SQL语言

 

前言

嘿,各位数据达人们!准备好迎接新的挑战了吗?今天,我们要探索的是数据库世界的魔法咒语——SQL语言!🔮💻

在这篇博文【Oracle】玩转Oracle数据库(四):SQL语言中,我们将进入数据库的奇妙世界,掌握SQL这把金钥匙,解锁数据的无限可能性!💡🌟

无论你是想成为数据分析大师,还是想拥有更好的数据库管理技能,相信我,这篇文章都会是你的贴心导师!我们要学会编写SQL查询,掌握增删改查等基本操作,更要深入了解SQL语言的核心原理和高级技巧!准备好让你的数据技能飞速提升了吗?跟着我一起踏上SQL的征程,让我们的数据库之旅更加精彩!🚀📊

目录

前言

☀️一、研究目的

🌼二、研究内容

🌷三、研究结论

🔥3.1 需要访问HR示例方案中的表,先查询机器上是否已有HR方案,如果已有HR方案,则跳过该步骤。如果没有,则运行相关包和相应配置装入HR方案。

☀️1. 将hr.rar解压到E:\ora11gk\oracle11g\product\11.2.0\dbhome_1\demo\schema\human_resources目录如图3

☀️2. 然后按提示依次输入

🔥3.2 完成下面的查询,记录查询命令和结果。

☀️1. 查询HR方案种有哪些表,列出表名

☀️2. 设置行宽为160,每页行数为40

☀️3. 查询employees表中所有薪水在3000到6000元之间的员工编号、姓名、受聘日期、工作代号、薪水、经理代号、部门号,按部门号升序排列,同一部门按员工编号降序排列

☀️4. 查询每个部门的人数、平均薪水、最高薪水、最低薪水,按部门编号升序排列

☀️5. 查询first_name的第三个字母是t的员工编号,first_name,电话号码,部门编号,部门名称

☀️6. 在job_history表中查询任职时间超过1年的员工编号,任职历时月份(保留整数),工作代号,部门代号。

📝四、研究心得


☀️一、研究目的

  • 掌握在Oracle中添加示例方案的方法
  • 熟练掌握SQL语言的查询功能
  • 掌握SQL Plus常用命令

🌼二、研究内容

一、需要访问HR示例方案中的表,先查询机器上是否已有HR方案,如果已有HR方案,则跳过该步骤。如果没有,则运行相关包和相应配置装入HR方案。

  1. 将hr.rar解压到D:\oracle\...\demo\schema\ human_resources目  (路径中“…”因不同机器不同安装目录而不同,根目录也可能不同,相应解压位置和下面的命令都要随之改变),然后在SQL*PLUS 中执行 hr_main.sql这个文件,以SYS用户登录执行。即 
    SQL>@D:\oracle\...\demo\schema\human_resources\hr_main.sql
  2. 然后按提示依次输入如下:
Specify passwordfor HR as parameter 1:
Enter valuefor 1: hr

Specify default tablespeacefor HR as parameter 2:
Enter valuefor 2: users

Specify temporary tablespacefor HR as parameter 3:
Enter valuefor 3: temp

Specify passwordfor SYS as parameter 4:
Enter valuefor 4:runner

Specify log path as parameter 5:
Enter valuefor 5: D:\oracle\...\RDBMS\log

二、完成下面的查询,记录查询命令和结果。

  1. 查询HR方案种有哪些表,列出表名
  2. 设置行宽为160,每页行数为40
  3. 查询employees表中所有薪水在3000到6000元之间的员工编号、姓、名、受聘日期、工作代号、薪水、经理代号、部门号,按部门号升序排列,同一部门按员工编号降序排列
  4. 查询每个部门的人数、平均薪水、最高薪水、最低薪水,按部门编号升序排列
  5. 查询first_name的第三个字母是t的员工编号,first_name,电话号码,部门编号,部门名称
  6. 在job_history表中查询任职时间超过1年的员工编号,任职历时月份(保留整数),工作代号,部门代号。
  7. 查询每个部门经理的员工编号、姓名、薪水、部门号。

🌷三、研究结论

准备工作:

按住win+r输入sqlplus,如图1.

图1

输入用户名:sys as sysdba,密码:Csuft123.并输入startup启动实例如图2.

图2

【实验内容开始】

🔥3.1 需要访问HR示例方案中的表,先查询机器上是否已有HR方案,如果已有HR方案,则跳过该步骤。如果没有,则运行相关包和相应配置装入HR方案。

☀️1. 将hr.rar解压到E:\ora11gk\oracle11g\product\11.2.0\dbhome_1\demo\schema\human_resources目录如图3

图3

然后在SQL*PLUS 中执行 hr_main.sql这个文件,以SYS用户登录执行即 SQL>@E:\ora11gk\oracle11g\product\11.2.0\dbhome_1\demo\schema\human_resources\hr_main.sql

☀️2. 然后按提示依次输入

Specify passwordfor HR as parameter 1:
Enter valuefor 1: hr

Specify default tablespeacefor HR as parameter 2:
Enter valuefor 2: users

Specify temporary tablespacefor HR as parameter 3:
Enter valuefor 3: temp

Specify passwordfor SYS as parameter 4:
Enter valuefor 4:runner

Specify log path as parameter 5:
Enter valuefor 5: E:\ora11gk\oracle11g\product\11.2.0\dbhome_1\RDBMS\log

输入完如图4

图4

运行完如图5

图5

🔥3.2 完成下面的查询,记录查询命令和结果。

☀️1. 查询HR方案种有哪些表,列出表名

答:7张表:使用命令命令如图6

select table_name from user_tables;

图6

☀️2. 设置行宽为160,每页行数为40

答:使用命令设置行宽为160

set linesize 160

使用命令设置每页行数为40如图7

set pagesize 40

图7

☀️3. 查询employees表中所有薪水在3000到6000元之间的员工编号、姓名、受聘日期、工作代号、薪水、经理代号、部门号,按部门号升序排列,同一部门按员工编号降序排列

答:在查询前我们需要查看employees表中的属性,使用指令如图8

desc employees

图8

使用命令如下:

select EMPLOYEE_ID,FIRST_NAME,LAST_NAME,HIRE_DATE,JOB_ID,SALARY,MANAGER_ID,DEPARTMENT_ID
from employees
where SALARY between 3000 and 6000
order by DEPARTMENT_ID asc,EMPLOYEE_ID desc;

需要注意的是姓名由FIRST_NAME和LAST_NAME组成而没有NAME,如图9

图9

我们发现其显示信息格式特别乱,为了显示更为美观,我们使用可视化PLSQL工具对其进行查询操作如图10

图10

☀️4. 查询每个部门的人数、平均薪水、最高薪水、最低薪水,按部门编号升序排列

答:为了方便显示所以后续截屏均在PLSQL可视化工具进行,在查询前我们需要查看employees表中的属性,使用指令如图11

desc employees

图11

这里使用查询命令如下:

select count(*)人数,avg(salary)平均薪水,max(salary)最高薪水,min(salary)最低薪水
From hr.employees
Group by department_id
order by department_id asc;

显示结果如图12

图12

☀️5. 查询first_name的第三个字母是t的员工编号,first_name,电话号码,部门编号,部门名称

答:这里先查看表的描述使用命令如图13

desc departments

图13

使用查询命令如图14

select EMPLOYEE_ID,FIRST_NAME,PHONE_NUMBER,hr.employees.DEPARTMENT_ID,DEPARTMENT_NAME
from hr.employees,hr.departments
where first_name like '__t%'
and hr.employees.department_id=hr.departments.department_id;

图14

☀️6. 在job_history表中查询任职时间超过1年的员工编号,任职历时月份(保留整数),工作代号,部门代号。

答:这里先查看表的描述使用命令如图15

desc job_history

图15

这里使用查询命令如图16

select employee_id,round(months_between(end_date,start_date)),job_id,department_id
From hr.job_history
Where round(months_between(end_date,start_date))>12;

图16

7.查询每个部门经理的员工编号、姓名、薪水、部门号。

答:这里使用查询命令如图17

select distinct e1.employee_id,e1.first_name,e1.last_name,e1.salary,e1. department_id
From hr.employees e1 inner join hr.employees e2
On e1.employee_id=e2.manager_id;

图17


📝四、研究心得

嗨,数据库探险家们!这次的Oracle数据库创建和管理实验简直就像是一场技术考验的狂欢!我不仅掌握了添加示例方案的技巧,还熟练运用起了SQL语言的查询功能,而且SQL Plus的命令也基本能驾驭得了!💻🔥

但嘿,挑战不止如此!这次的实验记录着无数的技术考验和小插曲!首先,我对表查询前得先研究属性,不然眼都懵了!desc命令成了我最亲密的伙伴!😅

然后,那个“TNS:协议适配器错误”,我尝试了各种神奇的解决方法,甚至还开了个小灶,结果只有关机重启才能搞定!这可真是技术小白魔咒的一次奇遇!🧙‍♂️✨

还有,在SQL语句里,引号得是英文状态下的,中文状态下的可不认!是不是有点儿小心机?😉

最后,我深深感受到了sqlplus窗口查询的种种不足:没错检查、格式乱糟糟!我觉得,时间应该花在解决问题上,而不是在调整格式上!所以,我决定转战PLSQLDEV,它的可视化结果简直美哭了!🎨💼

总的来说,这次实验就像是一场技术之旅,虽然充满挑战,但也充满了成长的味道!💪🌟

图18

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ssm+springmvc基于springboot的宠物领养系统的设计与实现_j5fk4

宠物领养系统主要是为了提高管理员的工作效率,满足管理员对更方便、更快、更好地存储所有信息和数据检索功能的要求。通过对多个类似网站的合理分析,确定了宠物领养系统的各个模块。考虑到用户的可操作性,经过深入调查研究,遵循系…

Web 前端 UI 框架Bootstrap简介与基本使用

Bootstrap 是一个流行的前端 UI 框架,用于快速开发响应式和移动设备优先的网页。它由 Twitter 的设计师和工程师开发,现在由一群志愿者维护。Bootstrap 提供了一套丰富的 HTML、CSS 和 JavaScript 组件,可以帮助开发者轻松地构建和定制网页和…

css3d制作正方体

使用css3d技术 &#xff0c;制作一个可以动态动画的正方体模型 效果图&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html> <head><style>/* 设置高度宽度100%并且左右居中、上下居中 */html,body {width: 100%;height: 100%;display: flex…

【Python笔记-设计模式】对象池模式

一、说明 用于管理对象的生命周期&#xff0c;重用已经创建的对象&#xff0c;从而减少资源消耗和创建对象的开销 (一) 解决问题 主要解决频繁创建和销毁对象所带来的性能开销问题。如数据库连接、线程管理、网络连接等&#xff0c;对象的创建和销毁成本相对较高&#xff0c…

求最短路问题总结

图论题最重要的是如何抽象出图&#xff0c;怎么定义点和边。 朴素Dijkstra算法&#xff1a;稠密图 堆优化版的Dijkstra算法&#xff1a;稀疏图 存在负权边一般用SPFA&#xff0c;个别情况用Bellman-Fold。 多源汇最短路用Floyd算法。

React18源码: reconciler执行流程

reconciler执行流程 1 &#xff09;概述 此处先归纳一下react-reconciler包的主要作用&#xff0c;将主要功能分为4个方面&#xff1a; 输入&#xff1a;暴露api函数&#xff08;如&#xff1a;scheduleUpdateOnFiber&#xff09;, 供给其他包&#xff08;如react包&#xff0…

mysql mgr集群部署

一、前言 mysql mgr集群是为了实现mysql高可用&#xff0c;分为单主集群和多主集群&#xff0c;单主集群只有一个主节点可写&#xff0c;节点发生故障时&#xff0c;自动进行主从的故障切换&#xff0c;多主集群所有节点都可写&#xff0c;当节点发生故障时&#xff0c;将故障节…

activeMq将mqtt发布订阅转成消息队列

1、activemq.xml置文件新增如下内容 2、mqttx测试发送&#xff1a; 主题&#xff08;配置的模糊匹配&#xff0c;为了并发&#xff09;&#xff1a;VirtualTopic/device/sendData/12312 3、mqtt接收的结果 4、程序处理 package comimport cn.hutool.core.date.DateUtil; imp…

python专业版破解激活(超详细)

python专业版破解激活 1.下载pycharm应用程序 这里我使用的版本是pycharm-professional-2023.3.2 下载pycharm程序的连接为&#xff1a; 百度网盘 请输入提取码 提取码为&#xff1a;nym0 2.安装 选择安装路径 下一步 这里全选 下一步 这里直接点击安装就可&#xff0c;其…

探索分布式强一致性奥秘:Paxos共识算法的精妙之旅

提到分布式算法&#xff0c;就不得不提 Paxos 算法&#xff0c;在过去几十年里&#xff0c;它基本上是分布式共识的代名词&#xff0c;因为当前一批常用的共识算法都是基于它改进的。比如&#xff0c;Fast Paxos 算法、Cheap Paxos、Raft 算法等。 由莱斯利兰伯特&#xff08;L…

R语言数据分析(五)

R语言数据分析&#xff08;五&#xff09; 文章目录 R语言数据分析&#xff08;五&#xff09;前言一、什么是整洁的数据二、延长数据2.1 列名中的数据值2.2 pivot_longer()的处理原理2.3 列名中包含许多变量的情况2.4 列名同时包含数据和变量 三、扩宽数据3.1 pivot_wider的处…

Electron实战之环境搭建

工欲善其事必先利其器&#xff0c;在进行实战开发的时候&#xff0c;我们最终的步骤是搞好一个舒服的开发环境&#xff0c;目前支持 Vue 的 Electron 工程化工具主要有 electron-vue、Vue CLI Plugin Electron Builder、electron-vite。 接下来我们将分别介绍基于 Vue CLI Plu…

查询数据库的编码集Oracle,MySQL

1、查询数据库的编码集Oracle,MySQL 1.1、oracle select * from v$nls_parameters where parameterNLS_CHARACTERSET; 查询版本&#xff1a;SELECT * FROM v$version 2、MySQL编码集 SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SC…

隐私也要付费?Meta公司为收集用户数据再出“奇招”

Cybernews网站消息&#xff0c;有相关人士表示&#xff0c;如果欧洲数据保护委员会&#xff08;EDPB&#xff09;不明确指出Meta公司的“付费或同意”的模式违反了欧盟的隐私法规&#xff0c;那么这一模式很可能会被大规模复制&#xff0c;危及数百万欧洲公民的自由选择权。 自…

Jenkins2.426邮件通知配置

之前安装的jenkins出现问题了&#xff0c;重新装了jenkins&#xff0c;需要重新配置&#xff1a;Maven&#xff0c;JDK&#xff0c;Allure报告&#xff0c;邮件通知&#xff0c;Extended E-mail Notification等 配置Maven&#xff0c;JDK参考&#xff1a;CICD集合(四):Jenkins…

排序第三篇 直接插入排序

插入排序的基本思想是&#xff1a; 每次将一个待排序的记录按其关键字的大小插入到前面已排好序的文件中的适当位置&#xff0c; 直到全部记录插入完为止。 一 简介 插入排序可分为2类 本文介绍 直接插入排序 它的基本操作是&#xff1a; 假设待排充序的记录存储在数组 R[1……

2.22 Qt day3 多界面跳转+qss登录界面优化+发布软件+对话框

思维导图&#xff1a; 完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号…

我们在SqlSugar开发框架中,用到的一些设计模式

我们在《SqlSugar开发框架》中&#xff0c;有时候都会根据一些需要引入一些设计模式&#xff0c;主要的目的是为了解决问题提供便利和代码重用等目的。而不是为用而用&#xff0c;我们的目的是解决问题&#xff0c;并在一定的场景下以水到渠成的方式处理。不过引入任何的设计模…

【教3妹学编程-算法题】匹配模式数组的子数组数目 I

3妹&#xff1a;2哥2哥&#xff0c;你有没有看到上海女老师出轨男学生的瓜啊。 2哥 : 看到 了&#xff0c;真的是太毁三观了&#xff01; 3妹&#xff1a;是啊&#xff0c; 老师本是教书育人的职业&#xff0c;明确规定不能和学生谈恋爱啊&#xff0c;更何况是出轨。 2哥 : 是啊…

HarmonyOS—LocalStorage:页面级UI状态存储

LocalStorage是页面级的UI状态存储&#xff0c;通过Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility实例内&#xff0c;在页面间共享状态。 本文仅介绍LocalStorage使用场景和相关的装饰器&#xff1a;LocalStorageProp和LocalS…