(1)!= 不等于
- select empno,
- ename,
- job from scott.emp where job != 'manager'
(2)^= 不等于
- select empno,
- ename,
- job from scott.emp where job ^= 'manager'
(3)<> 不等于
- select empno,
- ename,
- job from scott.emp where job < >'manager'
(4)< 小于
- select sal from scott.emp where sal<1000
(5)> 大于
- select sal from scott.emp where sal>1000
(6)<= 小于等于
- select sal from scott.emp where sal<=1000
(7)>= 大于等于
- select sal from scott.emp where sal>=1000
(8)in 在列表
- select sal from scott.emp where sal in(1000,2000)
时间的查询可以使用 in 例如
- select * from student where time in ('06-3月-09','08-5月-09');
(9)not in 不在列表
- select sal from scott.emp where sal not in(1000,2000)
(10)between...and 介于.. 与.. 间
- select sal from scott.emp where sal between 1000 and 2000
(11)not between...and 不介于.. 与.. 之间
- select sal from scott.emp where sal not between 1000 and 2000
(12)like 模式匹配 select ename from scott.emp where ename like 'M%' (% 表示任意长度的长度串)
- select ename from scott.emp where ename like 'M_'
(_表示一个任意的字符)
(13)is null 是否为空
- select ename from scott.emp where ename is null
(14)is not null 不为空
- select ename from scott.emp where ename is not null
(1)or(或)
- select ename from scott.emp where ename='joke' or ename='jacky'
(2)and(与)
- select ename from scott.emp where ename='and' or ename='jacky'
(3)not(非)
- select ename from scott.emp where not ename='and' or ename='jacky'
(1)union(并集) union 连接两句 sql 语句, 两句 sql 语句的和 去掉重复的记录。
- (select deptno from scott.emp) union (select deptno from scott.dept)
(2)union all(并集) 接两句 sql 语句,两句 sql 语句的和不用去掉重复的记录。
- (select deptno from scott.emp) union all (select deptno from scott.dept)
(3)intersect (交集) Intersect 连接两句 sql 语句 取查询出来的两个集合的 共同部分。
- (select deptno from scott.emp) intersect (select deptno from scott.dept)
(4)minus (补集) Minus 连接两句 sql 语句,取查询出来的两个集合的差。
- (select deptno from scott.emp) minus (select deptno from scott.dept)
(1)(||) 用来连接连个字段,或者将多个字符串连接起来。
操作符的优先级别:算术》连接》比较》逻辑(not and or)
(1)字符类型:(varchar varchar2 long)
Varchar:长度不可变,最大 2000 个字节
Varchar2:长度可变,最大 4000 个字节
Long:长度可变 最大 2G
(2)数值类型:
oracle 中对 int double float 进行整合成 number 类型。Number[p,s]:p 表示精度,s 表示小数位数。
(3)日期类型:(date)(timestamp)
Date 类型存储日期类型,包括 年月日时分秒。
Timestamp 类型存储日期类型,包括更加精确的信息,包括地区信息,年月日时分秒。毫 秒……。DATE 数据类型的主要问题是它粒度不能足够区别出两个事件哪个先发生。
ORACLE 已经在 DATE 数据类型上扩展出来了 TIMESTAMP 数据类型,它包括了所有 DATE 数据类型的年月日时分秒的信息,而且包括了小数秒的信息。
如果你想把 DATE 类型转换成 TIMESTAMP 类型,就使用 CAST 函数。
- eg. SQL> SELECT CAST(date1 AS TIMESTAMP) "Date" FROM t;
(4)Raw 类型:存储二进制数据
(5)Longraw 类型:存储可变长度的二进制数据。最大可以为 2G。
伪列是向数据表中插入数据时系统会自动向每条数据添加两列数据字段。
(1)Rowid 每条记录的实际存储地址,即使记录重复这个字段也不会出现重复。
(2)Rownum 是 查询出数据后为每条记录添加的字段,他并不是真是存在,而是相当于视图一样查询出来后自动添加的一个行号。当运行 select rowed,rownum from 表名; 就可以查看这几数据。
Sql 语句是通用的数据库语言
Sql 命令包括 (DDL)(DCL)(DML)(TCL)
(1)DDL:数据定义语言 包括 Create 语句,drop 语句,alter 语句。
(2)DCL: 数据控制语言 包括 grant 语句。 Revoke 语句
(3)DML:数据控制语言 包括 增,删,改,查语句。
(4)TCL:事物控制语言 包括 commit,rollback,savepoint
Sql 函数包括:(单行函数)(分组函数)(分析函数)
(1)单行函数:
对于从表中查询出来的每条记录只显示一个数据。单行函数可以出现在 select 子句中,where 子句中。单行函数包括:(字符函数)(数字函数)(日期函数)(转换函数)(其他函数)。
(2)日期函数:对日期进行计算 显示日期类型或者数字类型。
SYSDATE 当前日期和时间
current_date 返回当前会话时区中的当前日期
current_timestamp 以 timestamp with time zone 数据类型返回当前会话时区中的当前日期
dbtimezone 返回时区
ADD_MONTHS 加上月数
MONTHS_BETWEEN 返回两个日期之间月数
LAST_DAY 返回月的最后一天
ROUND 将月数四舍五入
NEXT_DAY 指定下一个星期几的日期
TRUNC 日期的格式转换
EXTRACT 提起日期中指定的部分
(3)字符函数:
Initcap(char) 大写首字母。
Lower(char) 将大写字符变成小写。
详见:
(4)数字函数
Mod(m,n) m/n 的余数。
Power(m,n) m 的 n 次方。
Round(m,n) m 是小数,n 是取的小数位数。四舍五入
Trunc(m,n) m 是小数,n 是取的小数位数。不四舍五入
(5)转换函数
To_char 转化字符。
To_date 转换日期。
To_number 转换数字
详见:
(6)其他函数
NVL(表达式 1,表达式 2)
如果表达式 1 为 null, 返回表达式 2,否则返回表达式 1;
如果表达式类型不一致,Oracle 将表达式 2 转换为表达式 1 的类型
NVL2(表达式 1,表达式 2,表达式 3)
如果表达式 1 为空,返回表达式 3 的值, 否则返回表达式 2 的值
NULLIF(表达式 1,表达式 2)
如果两表达式相等,返回空值, 否则返回表达式 1
(7)聚合函数
Avg ()取平均数。
Count ()返回查询出来的数据。
Sum ()取和
Max ()取最大值
Min ()取最小值
Group 和 having
SELECT p_category, MAX(itemrate) FROM itemfile GROUP BY p_category;
SELECT p_category, MAX(itemrate) FROM itemfile GROUP BY p_category
HAVING p_category NOT IN ('accessories');
来源: