Oracle面试题解析:SQL与函数应用
版权申诉
38 浏览量
更新于2024-07-07
收藏 869KB PDF 举报
"Oracle面试测试题,包括SQL题目和Oracle函数的应用,主要涉及数据库设计、主外键约束、数据插入、查询操作以及Oracle特定函数的使用。"
在Oracle面试中,掌握SQL语句和数据库设计是至关重要的。以下是对题目中涉及的知识点的详细解释:
1. **数据库设计与建表**:
- **主外键关系**:在数据库设计中,主键用于唯一标识一个记录,外键则引用另一个表的主键,确保数据的一致性和完整性。在给定的班级表class和学生表student中,`classid`是class表的主键,同时也是student表的外键,用于关联学生和班级。
- **自动增长值**:在Oracle中,可以使用`序列(SEQUENCE)`来生成自动增长的编号,例如在系表中,可以创建一个序列来自动填充`departmentid`。
- **约束条件**:在建表时可以设置约束,如`NOT NULL`(非空约束)、`UNIQUE`(唯一约束)和`CHECK`(检查约束)。例如,`deptname`不能重复,`name`不能为空,`age`在15到30之间,`num`不超过30。
2. **数据插入**:
- 题目给出了department、class和student表的部分测试数据,插入数据时需要满足前面提到的约束条件。
3. **SQL查询**:
- **查询A**:使用`WHERE`子句和聚合函数`COUNT()`,找出人数大于等于28的系,即查询`class`表,按`deptname`分组,筛选`COUNT(*) >= 28`的记录。
- **查询B**:找出开设超过两个专业的系,需要联接`class`和`department`表,按`deptname`分组,筛选`COUNT(DISTINCT subject) > 2`的记录。
- **查询C**:展示学生全信息,使用`SELECT * FROM student JOIN class ON student.classid = class.classid JOIN department ON class.deptname = department.deptname`。
4. **Oracle函数应用**:
- **查询1**:使用`CONCAT()`函数和`'--'`连接员工姓名和工作。
- **查询2**:使用`SUBSTR()`函数获取姓名的前三个字符和第四个字符后的部分。
- **查询3**:使用`INSTR()`函数查找字母'T'的位置,找出第一次和第二次出现的位置。
- **查询4**:使用`ADD_MONTHS()`函数减去12个月,找出12年前参加工作的员工。
- **查询5**:利用`LAST_DAY()`和`ADD_MONTHS()`找到当月倒数第三天,然后匹配员工入职日期。
- **查询6**:计算工作天数,可以使用`DATEDIFF()`或自定义方法。
- **查询7**:根据日薪计算公式,先确定每日工资,再除以每月天数(30天)。
- **查询8**:使用`TO_CHAR()`函数格式化日期,展示为`YYYY-MM`格式。
- **查询9**:使用`BETWEEN`操作符查询1987年2月到5月入职的员工。
了解并熟练运用这些知识点对于准备Oracle相关的面试至关重要,它们涵盖了数据库基础、SQL高级查询以及Oracle特有的函数操作。
点击了解资源详情
点击了解资源详情
128 浏览量
2022-07-14 上传
499 浏览量
2022-07-14 上传
2021-10-08 上传
2024-03-17 上传
958 浏览量

苦茶子12138
- 粉丝: 1w+
最新资源
- 乘风多用户PHP统计系统v4.1:源码与项目实践指南
- Vue.js拖放组件:vue-smooth-dnd的封装与应用
- WPF图片浏览器开发教程与源码分享
- 泰坦尼克号获救预测:分享完整版机器学习训练测试数据
- 深入理解雅克比和高斯赛德尔迭代法在C++中的实现
- 脉冲序列调制与跳周期调制相结合的Buck变换器研究
- 探索OpenCV中的PCA人脸检测技术
- Oracle分区技术:表、索引与索引分区深入解析
- Windows 64位SVN客户端下载安装指南
- SSM与Shiro整合的实践案例分析
- 全局滑模控制Buck变换器设计及其仿真分析
- 1602液晶动态显示实现源码及使用教程下载
- Struts2、Hibernate与Spring整合在线音乐平台源码解析
- 掌握.NET Reflector 8.2.0.42:反编译及源码调试技巧
- 掌握grunt-buddha-xiaofangmoon插件的入门指南
- 定频滑模控制在Buck变换器设计中的应用