从实践中学习OracleSQL2
第二章:限制性查询和数据的排序
Where子句用来限制哪些行要显示,这在关系数据库中称为选择(Selection)操作。Where子句跟在from子句之后。
Where是关键字,其后跟限制条件
条件由列名,字符串,算术表达式,常量和比较运算符组成
,<,<=,>=,=,<>,!=,BETWEEN AND ,IN, LIKE是oracle提供的9个比较运算符。
一般把比较运算符用在条件语句中
BETWEEN 1 AND 2 运算符用于测试某些值是否在指定数值范围之内,1下限,2叫上限,该运算符可以用于数值型,字符型和日期型,但后面的两种类型必须用单引号括起来。
被单引号括起来的字符串是区分大小写的。
select empname from emp where hiredate not between '01-JAN-81' AND '31-MAY-82'
IN 用来测试某些值是否在列表中出现
select empname from emp where job not in ('analyst','president')
LIKE运算符 select emp from emp where job like '%sal_' ; %代表多个字符,-代表一个且只能是一个字符
转义字符\和~
如果不在查询语句中使用order by则查询结果是不确定的。Order by子句一定是SQL语句的最后一个子句。
Order by中也可以用 Select 子句中定义的列名的别名。
Order by中也可以用 Select 子句中定义的表达式的别名。
Order by中也可以用 列号。为了可读性,尽量少用
Order by 也可以不用在select列表中列出的列。但为了可读性,尽量避免。
Order by子句中也可以使用多列,如果要排序,需要为每一列分别指定排序方式
select job,sal,ename from emp order by job,sal desc
