使用SELECT语句
SQL规范
1) SQL语句不区分大小写
++ 推荐关键字使用大写,子句使用小写,提高可读性.
2) SQL语句可以书写成一行也可以书写成多行
++推荐一个关键字 + 对应子句占据一行.
3) 关键字不可以缩写也不可以换行
++ SQL*Plus语句可以缩写.
4) SQL结束符
++ SQL结束符可以是分号";",也可以使斜杠"/",推荐使用分号";".
SELECT 语句
SELECT作用主要用于查询数据,不会对数据进行更改.
SELECT 主要用于三种功能:
1) 查询列
2) 查询行
3) 多表查询
语法:
SELECT * | {[DISTINCT] column|expression [alias]...}
FROM table;
{} 大括号里边出现的内容为0-N次;
[] 中括号里边出现的内容为0-1次;
| 竖线表示或者.
SQL*Plus中数据显示规范,数字右对齐,字符串和日期左对齐,表头全部大写字母.
--查询所有的列
SELECT * --*代表全部列.
FROM departments;
SELECT department_id, department_name, manager_id, location_id
FROM departments;
上述两种查询效果相同,执行上还是有细微差别的.
若是交互式查询建议使用*来代替department_id, department_name, manager_id,location_id写法来提高书写速度.
若是使用程序查询所有列建议使用department_id,department_name,manager_id, location_id写法.
若写成*的方式数据库会首先会获取DEPARTMENTS表的所有列,然后将*转换为department_id,department_name, manager_id,location_id后执行SQL语句,会延缓程序的执行速度.
--查询指定的列
SELECT department_id, location_id
FROM departments;
SELECT location_id, department_id
FROM departments;
SELECT子句中列的书写顺序决定显示的顺序.
使用算术表达式
SELECT last_name,salary, salary + 300
FROM employees;
除FROM子句中不能使用算数表达式其余子句均可以使用算数表达式.
算数表达式的优先级与数学中相同.
关于NULL值
计算机是二进制,非0即1的二元逻辑.
NULL值是数据库中特有的值.既不是True也不是False.NULL不等于0或者空字符串.
NULL值是一种中间状态.
SELECT last_name, job_id, salary, commission_pct
FROM employees;
主键值不允许有NULL值.
如果算数表达式中数字与NULL值进行运算,那么结果为NULL.
SELECT last_name, 12*salary*commission_pct
FROM employees;
列别名
1)重命名列头
2)别名可用于算数表达式中
3)别名的用法
++ 需要查询的列+空格+别名
SELECT salary lol
FROM employees;
++ 需要查询的列+AS+别名
SELECT salary AS lol
FROM employees;
4)如果别名中带有特殊字符(#、$..)或者想让别名在显示中按照自己别名的大小写显示需要加上双引号"".
SELECT salary AS "#lol#"
FROM employees;
链接操作符
操作符 ||(两个竖线)
SELECT last_name || job_id AS "lol"
FROM employees;
链接起来很难读,可以加上空格.
SELECT last_name || ' ' || job_id AS "lol"
FROM employees;
或者其他字符.
SELECT last_name || ' is a ' || job_id AS "lol"
FROM employees;
如果要显示单引号'可以使用q'[' ]'
不一定要使用[],可以使用任意成对的字符,如<>{}. ..
SELECT last_name || ' ' || q'[is' a]' || ' '|| job_id AS "lol"
FROM employees;
重复列
操作符DISTINCT
数据表中经常有重复的数据,使用DISTINCT操作符可以去除重复的数据.
SELECT COUNT(job_id)
FROM employees;
SELECT COUNT(DISTINCT job_id)
FROM employees;
DISTINCT作用于后边所有的列.
查看表结构
操作符DESC[RIBE]
DESCRIBE是SQL*Plus的命令因此可以简写为DESC
DESC主要用于显示表的结构.
DESC employees
--------------------------------------------------------------------------------------
版权所有,转载时必须以链接方式注明源地址,否则追究法律责任!
Email : softomg@163.com
Blog : http://blog.csdn.net/softomg