Sql(structured query language):结构化查询语言
其使用的规范为:
关键字要大写,其他的小写
Where子句书写时,每一个条件占一行,语句另起一行时,以保留字或者连接符开始,连接符右对齐,多表连接时,使用表的别名来引用列。
字符串和日期要用单引号扩起来,因为字符串和日期都是大小写敏感的,缺省的日期格式是‘DD-MON-YY’
Sql语言的分类:(1)数据查询语言:select(2)DML(date manipulation language):数据操作语言:insert,update,delete(3)DDL(date difinition language):数据定义语言:create,alter,drop,rename,truncate(4)TCl(transaction control language):事务控制语言:commit,rollback,savepoint(5)DCL(date control language):数据控制语言:grant,revoke。
Select 命令的用法:select * from 表名 where 条件
或者select 列明 from 表名 where 条件
即:select识别什么列,from什么表,where后面跟的是条件。
算数表达式:可以用加减乘除来表达,其优先级与数学中的一样,其用法如:
定义列的别名:可以改变列的标题头,如果使用特殊字符,或者大小写敏感,或有空格时,须加双引号;
如:select ename as “Name“ , sal “SALARY” from emp 注意定义列的别名时,加不加as 都可以。
列与列的连接用双竖杠(||),产生的结果是一个字符串。如
Distinct:可以用来删除重复的行。如:distinct写在要删除的重复行的前面。
常见的比较运算符:有< , >, =, <=, >=, <>,between and (在两个值之间或者lower 和higher), in(匹配列出的值(可以是数字,也可以是自符串, 可以是一个值,也可是大于等于两个的值) like (包含文字字符或者数字,用法通常是like ‘A%’ 或者not like ‘’) is null(为空值) is not null:不为空
常用的逻辑运算符:and, or, not
20 或者30 的表达:in(20,30)或者关键字=20 or关键字=30 ,不是…not in ()
优先级:先是括号,再是*/ + -最后是not and or
order by 的用法:使用orde rby是将记录排序,asc:升序,默认的是升序,
desc:降序
Oracle的单组函数:像upper(’x’):把字符转换成大写,lower(‘x‘):把字符转换成小写。nvl(x,value):表示若x为空,则输出value的值,若x不为空,输出x的值 。trunc:截取,小数点后面的都不要了,只取小数点前面的整数。Dual:是一个虚表。
注意最后转换成的格式要用单引号。
To_char:将内容转换成字符串,to_number:将字符转换成数字,to_date:是将字符转换成日期。
常见的日期格式有:yyyy/mm/dd或者是yyyy-mm-dd
数据类型转换:to_char(date, ’fmt’) 如:to_char(hiredate, ‘fmdd month yyyy’) 必须用单
引号括起来,使用逗号把日期分离。To_number:就是将字符转换成数字。To-date:就是将字符转换成日期。如:To_number(‘99f’,‘xxx’)
nvl(arg1,arg2):判断了arg1的值,如果为空,返回arg2,否则返回arg1