微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

oracle 语法

1.基本语法:SELECT *[列名 [[AS] 别名],列名2...] FROM 表名 [[AS] 别名];


2. 使用||做连接:Oracle中的字符串用单引号。
例:SELECT '姓名:'||ename||'月薪'||sal FROM emp;


3. 使用disTINCT可以消除重复内容


4. WHERE子句:使用WHERE指定的条件对数据进行筛选,返回符合条件的记录(行)。
SELECT *[|列名 [[AS] 别名],列名2...]
FROM 表名 [[AS] 别名]
WHERE 条件;
1) WHERE子句可以包括运算符,sql操作符,使用(),常量,列,函数


5. 运算符:
1) 算术:+ - * /
2) 比较:> >= < <= = !=(<>),
ANY(值1,值2...) ALL(值1,值2...) 不能单独使用,要配合>,>=,<,<=来使用
3) 逻辑:AND OR NOT


6. sql操作符:
1) IN(值1,值2...)
2) LIKE '模式字符串':_代表任意一个字符,%代表0到n个字符
3) BETWEEN 数值1 AND 数值2:不仅可用于数值,还可以用于日期时间
4) IS NULL,IS NOT NULL:匹配空值,非空值。对于空值一定不能用=或!=
5) IS NAN:非数字。IS NOT NAN:数字。Oralce特有


7. Oracle特有的伪列:
1) ROWID: Oracle内部对每个表的每一行都有一个唯一的标识。
★2) ROWNUM: Oracle对每次查询结果集的每一行记录都有一个行号。
对结果集的数据进行标识。不能对ROWNUM直接使用>,!=,between..and..
怎么来获取第5条到第10条的记录呢?子查询,连接查询


8. 对结果进行排序:
SELECT *[|列名 [[AS] 别名],列名2...]
FROM 表名 [[AS] 别名]
WHERE 条件
ORDER BY 排序列名 [ASC|DESC],排序列名 [ASC|DESC]...;

9. sql函数数据库管理系统(DBMS)提供的一些功能封装。不同的数据库产品所提供的函数不尽相同。 1) 单行函数:同时只能对一行进行操作,且对于每一行返回一个值。 聚合函数:同时对多行进行操作,这多行只返回一个值。 2) 单行函数: a) 字符串:lower(char),upper(char),length(char),initcap(x) b) 数字:round(number,n) c) 日期时间:sysdate 返回数据库所在操作系统的当前日期时间。 systimestamp 返回数据库所在操作系统的当前时间戳。 last_day(d) 返回指定日期当月的最后一天的日期时间 trunc(d[,unit]) 截断日期时间,unit: 'year','month','day' d) dual表是Oracle提供给任何用户一个表,常用在没有目标表的SELECT语句中。 e) 转换函数: to_char(datatime[,format]),format: yyyy,mm,dd,hh24,mi,ss to_char(number[,format: l,9,',' to_date(char[,字符串-->日期时间 to_timestamp(char[,字符串-->日期时间戳 to_number(expr[,format]) f)其它函数: nvl(expr1,expr2) 如果expr1为空,返回expr2的值,否则返回expr1。 nvl2(expr1,expr2,expr3) 如果expr1不为空,返回expr2,否则返回expr3。 decode(expr,search1,result1,search2,result2,...) case expr when search1 then result1 when search2 then result2 ... else resultn end

原文地址:https://www.jb51.cc/oracle/210709.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐