重建scott用户
@?/rdbms/admin/utlsampl.sql
@--执行
?--$ORACLE_HOME

字符区分大小写:
SELECT last_name, job_id, department_id
FROM employees
WHERE last_name = 'Whalen' ;

使用字符函数:
SELECT last_name, job_id, department_id
FROM employees
WHERE upper(last_name) = 'WHALEN' ;

SELECT last_name, job_id, department_id
FROM employees
WHERE lower(last_name) = 'whalen';

默认日期格式为"DD-MON-RR"
SELECT last_name
FROM employees
WHERE hire_date = '17-FEB-96' ;

Between...And等价于>= and <=
SELECT last_name, salary
FROM employees
WHERE salary BETWEEN 2500 AND 3500 ;

SELECT last_name, salary
FROM employees
WHERE salary >= 2500 AND salary <= 3500 ;

通配符:
%代表0个或者多个字符
_代表1个字符
create table t(name varchar2(10));
insert into t values('a');
insert into t values('ab');
insert into t values('abc');
insert into t values('abcd');

可以使用ESCAPE标识符来搜索%以及_符号.
insert into t values('ab_c');
insert into t values('ab%cd');
select *
from t
where name like '%\_%' escape '\';

And的优先级大于Or,可以使用小括号来改变优先级:
SELECT last_name, job_id, salary
FROM employees
WHERE job_id = 'SA_REP'
OR job_id = 'AD_PRES'
AND salary > 15000;

SELECT last_name, job_id, salary
FROM employees
WHERE (job_id = 'SA_REP'
OR job_id = 'AD_PRES')
AND salary > 15000;

Order by语句必须在所有子句后边,包括group by,having之后
The ORDER BY clause comes last in the SELECT statement;

按照降序排列:
SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY hire_date DESC ;

按照别名排序
SELECT employee_id, last_name, salary*12 annsal
FROM employees
ORDER BY annsal ;
也可以按照表达式排序

按照列位置排序:
SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY 3;

按照多列排序:
SELECT last_name, department_id, salary
FROM employees
ORDER BY department_id, salary DESC;

隐式排序
SELECT last_name, department_id, salary
FROM employees
ORDER BY first_name;

使用替代变量:
Temporarily store values with single-ampersand (&) and double-ampersand (&&) substitution
select * from emp
where empno=&no

使用DEFINE和UNDEFINE定义和取消变量:

DEFINE employee_num = 200
SELECT employee_id, last_name, salary, department_id
FROM employees
WHERE employee_id = &employee_num ;
UNDEFINE employee_num

SET VERIFY ON
SELECT employee_id, last_name, salary
FROM employees
WHERE employee_id = &employee_num;
SET VERIFY OFF

Oracle SQL Lesson (2) - 限制和排序数据的更多相关文章

  1. Oracle SQL Lesson (1) - 使用SQL Select语句获取数据

    第一节课: 启动数据库并且使用特定用户连接:su - oracle; 启动sqlplus并且使用sys连接:conn / as sysdba; 启动数据库:startup; 解锁用户:alter us ...

  2. Oracle SQL Lesson (5) - 使用组函数输出聚合数据

    组函数AVGCOUNTMAXMINSUMVARIANCE:方差STDDEV:标准差 SELECT AVG(salary), MAX(salary), MIN(salary), SUM(salary)F ...

  3. Oracle SQL Lesson (9) - 操作数据(增删改)

    使用INSERT语句INSERT INTO table [(column [, column...])]VALUES (value [, value...]); INSERT INTO departm ...

  4. Oracle SQL Lesson (6) - 使用Join进行联合查询

    使用连接SQL 1999SELECT table1.column, table2.columnFROM table1[NATURAL JOIN table2] |[JOIN table2 USING ...

  5. Oracle SQL Lesson (3) - 使用单行函数自定义输出

    大小写转换函数LOWER('SQL Course') = sql courseUPPER('SQL Course') = SQL COURSEINITCAP('SQL Course') = Sql C ...

  6. Oracle SQL Lesson (4) - 使用转换函数和条件表达式

    隐式转换select * from emp where empno='7788'字符(char,varchar2)转换为数字(number)或日期(date)数字或日期转换为字符 显式转换字符转换为数 ...

  7. Oracle SQL Lesson (8) - 使用集合操作符(Union,Intersect,Minus)

    集合操作符UNION/UNION ALLINTERSECTMINUS Union All不排序,不去重,其余均升序且去重.create table e1 as select * from emp wh ...

  8. Oracle SQL Lesson (11) - 创建其他数据库对象(试图/序列/索引/同义词)

    schema(模式)一个用户下一组对象的集合,一般与用户名一致. 视图 CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias].. ...

  9. Oracle SQL Lesson (7) - 使用子查询

    使用子查询简单子查询SELECT select_listFROM tableWHERE expr operator (SELECT select_list FROM table);子查询可以出现在se ...

随机推荐

  1. Swift - 触摸事件(点击,移动,抬起等)说明及用例

    在iOS开发中,UIGestureRecognizer可以方便的响应处理手势事件. 而如果要想更精细的处理,我们还需要借助touchesBegan,touchesMoved,touchesEnded等 ...

  2. 与众不同 windows phone (26) - Contacts and Calendar(联系人和日历)

    原文:与众不同 windows phone (26) - Contacts and Calendar(联系人和日历) [索引页][源码下载] 与众不同 windows phone (26) - Con ...

  3. HUD 1501 Zipper(记忆化 or DP)

    Problem Description Given three strings, you are to determine whether the third string can be formed ...

  4. hive编程指南--employees表数据定义

    hive编程指南中有个employees表,默认的分隔符比較繁杂,编辑起来不太方便(普通编辑器编辑的控制字符^A等被当成字符串处理了,没有起到分隔符的作用). 收集的解决方式例如以下: http:// ...

  5. 二分查找(非递归JAVA)

    庞果网编程英雄会上做的一道题:二分查找(非递归),和大家分享一下: public class BinarySearchClass { public static int binary_search(i ...

  6. [Android学习笔记]LayoutParams的使用

    LayoutParams的使用: 什么时候会用到此对象?动态布局,动态向ViewGroup中添加子view时,为子view设置此对象,目的是告诉父容器以何种方式呈现此子view LayoutParam ...

  7. [Android学习笔记]页面布局

    线性布局:LinearLayout 1.集成ViewGroup,故可容纳多个View 2.线性布局,可设置水平或者垂直方向 相对布局:RelativeLayout

  8. c#超时锁定

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. struts2+jquery +json实现异步加载数据,亲测(原创)

    //初始加载页面时 $(document).ready(function(){ //为获取单个值的按钮注册鼠标单击事件 $("#getMessage").click(functio ...

  10. activity_main.xml: java.lang.NullPointerException

    1.错误描写叙述 eclipse.buildId=4.4.0.I20140606-1215 java.version=1.7.0_67 java.vendor=Oracle Corporation B ...