-
字符串和日期
字符串和日期在单引号内;
字符区分大小写,日期区分格式;
默认日期何氏为DD-MON-RR。
SELECT last_name FROM employees WHERE hire_date = '17-FEB-96' ;
-
比较运算符
请注意,不能在WHERE子句中使用别名。
注:符号!=和^=也可以表示“不等于”条件。
SELECT last_name, salary FROM employees WHERE salary BETWEEN 2500 AND 3500 ;
-
IN运算符
注:在Oracle Server内部将IN运算符作为一组OR条件(如a=value1 or a=value2 or a=value3)进行求值。因此,使用IN运算符对改进性能并无益处,只能达到简化逻辑
的目的。
-
使用LIKE运算符执行模式匹配
%表示零个或多个字符;
_表示一个字符;
-
ESCAPE标识符
如果需要与实际的%和_字符完全相匹配,请使用ESCAPE标识符。此选项指定转义符是什么。如果要搜索包含SA_的字符串,则可使用下面的SQL语句:
SELECT employee_id, last_name, job_id FROM employees WHERE job_id LIKE '%SA\_%' ESCAPE '\';
ESCAPE标识符将反斜杠(\)标识为转义符。在SQL语句中,转义符位于下划线(_)之前。这样Oracle Server将按字面意义解释下划线。
I
-
优先级规则
-
排序
按select子句中第三列排序
SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY 3;
order by 可用列别名
SELECT employee_id, last_name, salary*12 annsal FROM employees ORDER BY annsal ;
-
Using SQL Row Limiting Clause in a Query
SELECT … FROM … [ WHERE … ] [ ORDER BY … ] [OFFSET offset { ROW | ROWS }] [FETCH { FIRST | NEXT } [{ row_count | percent PERCENT }] { ROW | ROWS } { ONLY | WITH TIES }]
显示前5行
方法一
SELECT employee_id, first_name FROM employees ORDER BY employee_id FETCH FIRST 5 ROWS ONLY;
方法二
SELECT employee_id, first_name FROM employees WHERE ROWNUM <=5 ORDER BY employee_id;
显示第6-8行(第5行后取3行)
SELECT employee_id, first_name FROM employees ORDER BY employee_id OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY;
显示前2行,返回额外的行
SELECT FIRST_NAME||' '||LAST_NAME,SALARY FROM EMPLOYEES ORDER BY SALARY FETCH FIRST 2 ROWS WITH ties;
-
替代变量
使用以与号(&)为前缀的变量可提示用户输入一个值
SELECT employee_id, last_name, salary, department_id FROM employees WHERE employee_id = &employee_num ;
对日期值和字符值使用单引号:
SELECT last_name, department_id, salary*12 FROM employees WHERE job_id = '&job_title' ;
在WHERE子句中,日期值和字符值必须放在单引号中。这一规则也适用于替代变量。
指定列名、表达式和文本
不但可以在SQL语句的WHERE子句中使用替代变量,还可以对列名、表达式或文本使用替代变量。
SELECT employee_id, last_name, job_id,&column_name FROM employees WHERE &condition ORDER BY &order_column ;
如果要重复使用变量值而不每次都显示提示,请使用双与号(&&):
SELECT employee_id, last_name, job_id, &&column_name FROM employees ORDER BY &column_name ;
DEFINE创建变量并赋值
DEFINE employee_num=112;
UNDEFINE删除变量
DEFINE employee_num=112;
打开/关闭显示替换后命令
SET VERIFY ON|OFF