实验四 SQL语言

简介: 实验四 SQL语言

😘欢迎关注:👍点赞🙌收藏✍️留言

🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!

实验四 SQL语言

【实验目的】

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

【实验内容】

  1. 需要访问HR示例方案中的表,先查询机器上是否已有HR方案,如果HR方案,则跳过该步骤。如果没有,则运行相关包和相应配置装入HR方案。
  1. 下面是没有的情况
  1. 以sys用户登录后查询Oracle中是否有hr用户,发现没有
SQL> SELECT * FROM dba_tables WHERE OWNER = 'HR';
未选定行


  1. 即开始创建用户,记得要先把之前的hr用户删除,它被数据库锁定,但是查询却没有找到,不删除之后创建hr方案会报错。

  1. 登录hr用户

  1. 完成下面的查询,记录查询命令和结果。
  1. 查询HR方案种有哪些表,列出表名

  1. 设置行宽为160,每页行数为40

  1. 查询employees表中所有薪水在3000到6000元之间的员工编号、姓、名、雇佣日期、工作代号、薪水、经理代号、部门号,按部门号升序排列,同一部门按员工编号降序排列
SELECT employee_id as 员工编号, last_name as 姓, first_name as 名, hire_date as 雇佣日期,
job_id as 工作代号, salary as 薪水, manager_id as 经理代号, department_id as 部门代号
FROM employees
WHERE salary BETWEEN 3000 AND 6000
ORDER BY department_id ASC, employee_id DESC;

  1. 查询每个部门的人数、平均薪水、最高薪水、最低薪水,按部门编号升序排列
select department_id as 部门编号,count(*) as 人数, avg(salary) as 平均薪水,
max(salary) as 最高薪水,min(salary) as 最低薪水
from employees
group by department_id 
order by department_id  asc;

  1. 查询first_name的第三个字母是t的员工编号,first_name,电话号码,部门编号,部门名称
SELECT e.employee_id as 员工编号, e.first_name, e.phone_number as 电话号码,
e.department_id as 部门编号, d.department_name as 部门名称
FROM employees e
JOIN departments d ON e.department_id = d.department_id
WHERE SUBSTR(e.first_name, 3, 1) = 't';

  1. 在job_history表中查询任职时间超过1年的员工编号,任职历时月份(保留整数),工作代号,部门代号。
SELECT employee_id as 员工编号, MONTHS_BETWEEN(end_date,start_date) AS 任职历时月份,
job_id as 工作代号, department_id as 部门代号
FROM job_history
WHERE MONTHS_BETWEEN(end_date,start_date) > 12;

  1. 查询每个部门经理的员工编号、姓名、薪水、部门号。
SELECT employee_id as 员工编号, first_name || ' ' || last_name AS 姓名, salary as 薪水, department_id as 部门号
FROM employees
WHERE employee_id IN (SELECT manager_id FROM departments);

【实验总结】

通过本次实验,我顺利达成了以下目标:

  1. 掌握了在Oracle中添加示例方案的方法,包括创建用户、加载相关包和配置。
  2. 熟练掌握了SQL语言的查询功能,包括对表进行查询、筛选和排序。
  3. 掌握了SQL Plus常用命令,例如设置行宽和每页行数的显示格式。

在实际操作中,我完成了对HR示例方案中表的查询,并对员工信息进行了多种复杂的查询操作,包括薪水范围筛选、部门统计、字符串匹配等。通过这些操作,我对SQL语言的灵活运用有了更深入的理解,并且在实践中熟悉了SQL Plus常用命令的使用。


总的来说,通过本次实验,我对SQL语言的查询功能和在Oracle中添加示例方案的方法有了更清晰的认识,并且在实践中提升了自己的操作技能。这些知识和技能对于今后在数据库管理和数据分析方面的工作将会有很大帮助。


相关文章
|
2月前
|
SQL Java 编译器
SQL 语言:嵌入式 SQL 和动态 SQL
SQL 语言:嵌入式 SQL 和动态 SQL
46 4
|
2月前
|
SQL 存储 数据库
爆肝!一看就懂的《SQL 语言知识体系》【建议收藏】(下)
爆肝!一看就懂的《SQL 语言知识体系》【建议收藏】
36 1
|
23天前
|
SQL 存储 关系型数据库
SQL语言优缺点有哪些?
SQL(Structured Query Language)语言作为数据库管理和操作的标准语言,具有一系列的优点,同时也存在一些缺点。
36 7
|
2月前
|
SQL 数据库 开发者
SQL 语言:完整性约束
SQL 语言:完整性约束
42 3
|
2月前
|
SQL 存储 数据库
爆肝!一看就懂的《SQL 语言知识体系》【建议收藏】(中)
爆肝!一看就懂的《SQL 语言知识体系》【建议收藏】
48 1
|
18天前
|
SQL 关系型数据库 数据库
|
18天前
|
SQL 关系型数据库 数据库
|
22小时前
|
SQL 存储 安全
SQL视图实验:创建、查询与管理技巧
在数据库管理系统中,视图(View)是一个虚拟表,其内容由查询定义
|
22小时前
|
SQL 数据库 索引
SQL语言入门:如何表达你的数据需求
在数据库的世界里,SQL(Structured Query Language)是一种至关重要的语言,它允许用户与数据库进行交互,执行数据的查询、更新、插入和删除等操作
|
6天前
|
SQL 关系型数据库 MySQL
Go语言中进行MySQL预处理和SQL注入防护
在现代Web应用开发中,安全性至关重要。SQL注入是一种常见的攻击方式,攻击者可通过构造特殊SQL查询来非法访问或修改数据库数据。本文介绍如何利用Go语言中的预处理SQL语句来防范此类攻击。预处理不仅能提升安全性,还能提高性能并简化代码。通过使用`?`作为占位符,Go自动处理参数转义,有效避免SQL注入。此外,文章还提供了连接MySQL数据库、执行预处理查询以及最佳实践的示例代码。务必遵循这些指导原则,确保应用程序的安全性。
14 0