Oracle数据库经典查询:46题实战

需积分: 50 7 下载量 190 浏览量 更新于2024-09-07 收藏 11KB TXT 举报
"Oracle数据库46道经典查询包含了一系列针对Oracle数据库的SQL操作,包括创建表、插入数据等。这些示例在MySQL中也可以运行,但需对数据类型进行相应调整,如将Oracle中的`number(4,2)`转换为`int(4)`,`varchar2`转换为`varchar`。" 在Oracle数据库中,SQL语句是管理和操作数据的核心工具,这些经典查询题目可以帮助我们更好地理解和掌握Oracle SQL的用法。以下是部分关键知识点的详细说明: 1. **创建表(Create Table)**: 示例中创建了四个表——`student`(学生)、`teacher`(教师)、`course`(课程)和`sc`(选课)。在Oracle中,`CREATE TABLE`语句用于定义表结构,包括列名、数据类型以及约束条件。例如,`student`表有四个字段:`sn`(学生编号,主键)、`sname`(姓名)、`age`(年龄)和`ssex`(性别)。 2. **数据类型(Data Types)**: `varchar2`是Oracle中的可变长度字符串类型,而`number(p,s)`表示带有p位整数和s位小数的数值类型。在MySQL中,可以使用`varchar`替代`varchar2`,`int`替代`number(4)`。 3. **主键(Primary Key)**: 在`student`和`course`表中,`sn`和`cno, tno`分别被定义为主键,主键是一个或一组列,其值在表中是唯一的,确保数据的唯一性和完整性。`primary key`关键字用于创建主键约束。 4. **外键(Foreign Key)**: 示例中未直接定义外键,但在实际应用中,`sc`表通常会有外键关联到`student`和`course`表,用于维护数据的参照完整性。 5. **插入数据(Insert Into)**: 使用`INSERT INTO`语句向表中插入数据。例子中,`student`和`teacher`表分别被插入了10条和3条记录,然后使用`COMMIT`提交事务,确保数据持久化。 6. **事务(Transaction)**: `COMMIT`语句用于提交当前事务,确保所有操作在数据库中保存。在Oracle中,事务可以确保数据的一致性,并在出现错误时可以回滚。 7. **查询(Query)**: 虽然题目没有提供具体的查询语句,但在Oracle中,我们通常会使用`SELECT`语句来查询数据。例如,可以查询某个学生的所有选课信息,或者查询某门课程的平均分数等。这些查询可能涉及`JOIN`操作、聚合函数(如`AVG`, `COUNT`)和分组(`GROUP BY`)。 通过练习这些经典查询,我们可以深入了解Oracle SQL的语法和功能,提高在实际数据库管理中的操作能力。同时,了解如何在不同数据库系统之间转换SQL语句也是提升跨平台开发能力的重要一步。