Oracle数据库SQL查询详解:从SELECT到计算字段

需积分: 50 55 下载量 107 浏览量 更新于2024-08-15 收藏 3.47MB PPT 举报
"Oracle数据库Sql语句详解大全中的建表语法和SELECT查询" 在Oracle数据库中,创建表是数据管理的基础操作,通过`CREATE TABLE`语句实现。语句的基本结构如下: ```sql CREATE TABLE [schema.]table (column datatype [DEFAULT expr] [column_constraint], ... [table_constraint]); ``` 这里的`schema`是你想要创建表的模式或用户,`table`是你要创建的表名,`column`是表的列名,`datatype`是列的数据类型,如`VARCHAR2`, `NUMBER`, `DATE`等。`DEFAULT expr`允许你为列设置默认值,`column_constraint`和`table_constraint`则用于定义列级和表级的约束,如非空约束(NOT NULL)、唯一性约束(UNIQUE)、主键约束(PRIMARY KEY)和外键约束(FOREIGN KEY)等。 在进行数据查询时,`SELECT`语句是SQL的核心,用于从数据库中检索信息。其基本语法如下: ```sql SELECT <列名> FROM <表名>; ``` 例如,`SELECT * FROM s_emp;`将获取`s_emp`表中的所有列和行。`*`是通配符,代表所有列。如果你只想查询特定列,如`dept_id`和`salary`,你可以这样写: ```sql SELECT dept_id, salary FROM s_emp; ``` 在查询中,可以使用算术表达式来处理数值,例如计算年薪: ```sql SELECT salary * 12 FROM s_emp; ``` 这里,`salary * 12`表示每个员工的年薪。运算符的优先级可以通过括号来调整,如: ```sql SELECT last_name, salary, 12 * salary + 100 FROM s_emp; ``` 这会计算年薪并加上100,而: ```sql SELECT last_name, salary, 12 * (salary + 100) FROM s_emp; ``` 则是先增加100,然后乘以12,两个表达式的结果会有所不同。 对于空值(NULL),在查询中需要特别处理,因为NULL不能参与大多数算术运算。你可以使用`IS NULL`或`IS NOT NULL`来检查值是否为空。同时,可以使用`AS`关键字为列起别名,使得查询结果更易读,如: ```sql SELECT column AS alias FROM table; ``` 查询字段的连接(JOIN)允许你从多个表中合并数据,比如内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL OUTER JOIN)等,这些在复杂的查询中非常有用。 Oracle SQL提供了丰富的功能来创建和查询数据库,涵盖了数据存储、检索、更新和删除等各种操作,是管理和操作数据库的关键工具。通过熟练掌握这些基本语法和概念,你可以高效地处理各种数据需求。