基本SELECT语句
SELECT *|{[DISTINCT]
column
|
expression
[
alias
],...}
FROM
table;
选择全部列
SELECT *
FROM departments;
选择特定的列
SELECT department_id, location_id
FROM departments;
注意
SQL 语言
大小写不敏感。
SQL 可以写在一行或者多行
关键字不能被缩写也不能分行
各子句一般要分行写。
使用缩进提高语句的可读性。
算术运算符
数字和日期使用的算术运算符。
使用数学运算符
SELECT last_name, salary, salary + 300
FROM employees;
操作符优先级
乘除的优先级高于加减。
同一优先级运算符从左向右执行。
括号内的运算先执行。
操作符优先级
SELECT last_name, salary, 12*salary+100
FROM employees;
使用括号
SELECT last_name, salary, 12*(salary+100)
FROM employees;
定义空值
空值是无效的,未指定的,未知的或不可预知的值
空值不是
空格
或者
0
。
SELECT last_name, job_id, salary, commission_pct
FROM employees;
空值在数学运算中的使用
包含空值的数学表达式的值都为空值
SELECT last_name, 12*salary*commission_pct
FROM employees;
列的别名
重命名一个列。
便于计算。
紧跟列名,
也可以在列名和别名之间加入关键字
‘
AS
’
,别
名使用
双引号,
以便在别名中包含空格或特殊的字符并区
分大小写。
使用别名
SELECT last_name AS name, commission_pct comm
FROM employees;
SELECT last_name "Name", salary*12 "Annual Salary"
FROM employees;
连接符
把列与列,列与字符连接在一起。
用 ‘
||’表示。
可以用来‘合成’列。
连接符应用举例
SELECT last_name||job_id AS "Employees"
FROM employees;
字符串
字符串可以是 SELECT 列表中的一个字符,数字,日期。
日期和字符只能在
单引号
中出现。
每当返回一行时,字符串被输出一次。
SELECT last_name ||' is a '||job_id
AS "Employee Details"
FROM employees;
重复行
默认情况下,查询会返回全部行,包括重复行。
SELECT department_id
FROM employees;
删除重复行
在SELECT子句中使用关键字 ‘
DISTINCT
’删除重复行。
SELECT DISTINCT department_id
FROM employees;
SQL 语句与 SQL*Plus 命令
SQL
•
一种语言
•
ANSI 标准
•
关键字不能缩写
•
使用语句控制数据库中的表的定义信息和表中的数据
SQL*Plus
•
一种环境
•
Oracle 的特性之一
•
关键字可以缩写
•
命令不能改变数据库中的数据的值
•
集中运行
SQL*Plus
描述表结构。
编辑 SQL 语句。
执行 SQL语句。
将 SQL 保存在文件中并将SQL语句执行结果保存在文件中。
在保存的文件中执行语句。
将文本文件装入 SQL*Plus编辑窗口。
显示表结构
使用 DESCRIBE 命令,表示表结构
DESC[RIBE]
tablename
DESCRIBE employees