一个基本的查询、特殊符号| |。制定列的别名,这是明显的唯一标志

1。字符和字符| | +连接器

Oracle:选择名字| | 111111111111111从表名
SQL的名字:选择栏目名称+ 111111111111111从表名T

2as符号
Oracle:从表名(空格,as)中选择新列名作为新表名
SQL:从表名t(不可能不)新表名中选择列名作为新列名


两。数据排序和数据过滤查询与SQL相同。

在,像,是空的,在…和……,或者

默认的列名称升序ASC或DESC顺序的顺序

三。单行函数(单行函数)
字符特征函数、数字数字函数、日期数据函数、转换转换函数、一般通用函数。

1。特征函数:
案例文字处理功能包括:上、下、initcap
低('sql)-> SQL小写大写
上('sql)-> SQL大写小写
Initcap('sql课程)-> SQL课程的首字母大写

特征操作功能

字符拼接
Concat(你好',‘')-> HelloWorld

字符截取
从左边的第一个字符截取5个字符
substr('helloworld,1,5)->你好

使用SQL中的左()函数








1,左()
左(,)
回到character_expression左integer_expression字符。

柱:左('helloworld ',5)->你好


第五从正确的数字中截获了5个字符
substr('helloworld,-5,5})->世界

在sql中使用右()函数








1,右()
右(,)
回到character_expression左integer_expression字符。

列:右('helloworld ',5)->世界



计算长度
长度('helloworld)-> 10

定位字符w的位置
仪器('helloworld','w')-> 6

使用charindex()函数在SQL

2.charindex()
返回字符串中指定的子字符串的起始位置。
charindex(,)
子_expression是字符表达你想找到,和表达可以是字符串或列名称的表达。如果未找到子字符串,返回值是0。
此函数不能用于文本和图像数据类型。

只剩下10个字符的数字是不够的
Lpad(你好,10×-> *****你好)

仅仅用字符来填充10个字符是不够的。
Rpad(10×->你好你好*****)

删除字符的第一个字母
修剪('h'from'helloworld)-> elloworld

2。数字功能:圆形,trunc模式
圆(45.926,2)-> 45.923

trunc(45.926,2)-> 45.92

国防部(3)-> 1余项

三.日期函数

获取系统当前时间
SQL:选择getdate();
Oracle:从双选择sysdate;

计算日期差:
months_between(SYSDATE,to_date('2010-11-29 ','yyyy-mm-dd '))

添加一个月
add_months(SYSDATE,1)

下星期五是数(实现PLSQL)
选择next_day(to_date('2011-11-1 ','yyyy-mm-dd),星期五)从双> 2011-11-04

这个月的最后一天:
last_day(to_date('2011-11-1 ','yyyy-mm-dd '))-> 2011-11-30


4。转换功能

VARCHAR2或char ->数

VARCHAR2或char ->日期

数-> VARCHAR2

日期-> VARCHAR2

得到当前的一周
Oracle:选择to_char(系统日期、星期)从双
SQL:选择datename(平日,getdate())

to_char(日期字段,'fmdd月yyyy)
to_char(数量、'format)
to_number(字段)
to_date('1-11-2011 ','dd-mm-yyyy)


在SQL中使用转换和转换:

一种数据类型的表达式显式转换到另一种类型的data.cast将提供类似的功能。

采用铸:
铸造(表达data_type)

使用转换:
转换(data_type {(长度)},{ } }表达,风格


函数嵌套选择长度(substr('helloworld,1,5))



5。通用函数
NVL(parm1,parm2)返回parm2如果parm1是空的

NVL2(parm1,parm2,parm3)不为空,返回parm2,否则parm3

如果两者不相等,则NULLIF返回第一个值。
如果两个表达式相等,NULLIF返回一个空值null。
Nullif(表达式,表达式2)
合并的一种判断(…)


4。多表查询表别名
Sql:
1,内部连接(连接操作,如比较运算符或比较运算符的典型用法),包括相等连接和自然连接。
内部连接使用比较运算符匹配两个表中的行,基于每个表的列的值,例如,检索学生和课程表中所有相同的行作为中学生标识号。

2,外部连接。扩展连接可以是左向外连接,右向外连接,或完全外部连接。
如果在from子句中指定了外部连接,则可以由以下组关键字指定:

1)左连接或左外连接
左侧外向连接的结果集包括左外子句中指定的左表的所有行,而不只是连接列匹配的行。如果左行在右行有一行,则没有表,则相关结果集将所有选择列表右行表为空。

2)右连接或右外部连接
右向外连接是左向外连接的反向连接。右表上的所有行都将返回。如果右表中的一行与左表中的行不匹配,则左表将返回空值。
3)完全连接或完全外部连接
完整的外部连接返回左表和右表中的所有行。当一行与另一表中的行不匹配时,另一表的选择列表列包含空值。如果表之间有匹配,则整个结果集行包含基表的数据值。

三.交叉连接
交叉连接返回左侧表中的所有行,左表中的每一行都与右表中的所有行相结合。

from子句中的表或视图可以通过内部连接或完整外部连接以任何顺序指定;但是,当将指定表或视图与左侧或右侧连接时,表或视图的顺序非常重要。

实例uff1a

,
一个ID名称B表ID的工作parent_id
1件31231件
2李四2342
3 Wang Wu 3344
张和parent_id之间的关系

--------------------------------------------------
1)内部连接
选择A *,B *内连接在b.parent_id张=
其结果是
1件31231件
2李四2342

2)左连接
选择A *,B *加入B对张= b.parent_id左
其结果是
1件31231件
2李四2342
3 Wang Wu零

3)正确连接
选择A *,B *从右连接B = b.parent_id张
其结果是
1件31231件
2李四2342
空3344

4)完全连接
选择A *,B *全加入B = b.parent_id张

其结果是
1件31231件
2李四2342
空3344
3 Wang Wu零