ITPub博客

首页 > 数据库 > Oracle > oracle数据库学习笔记

oracle数据库学习笔记

Oracle 作者:249426580 时间:2013-04-27 16:20:32 0 删除 编辑

一、       oracle 11G管理工具

1、  SQL *Plus工具

2、  Oracle企业管理器

3、  数据库配置助手

二、      SQL语音基础

1、  检索数据

基本语法:

Select {[distinct/all]/columns/*}

From {table/view/other select}

[Where conditions]

[Group by columns]

[Having conditions]

[Order by conditions]

Select语句执行的基本顺序是:From子句最先执行,然后才是where子句和select子句。

 

1)      检索所有的列

Select * from table

2)      检索制定的列

Select column1, column2……

3)      为列指定别名

可以用AS指定,也可以直接指定。

4)      显示不重复的记录

Select distinct column from table

筛选查询:

1)      比较筛选

可以在where子句中使用比较运算符来筛选数据。

2)      使用特殊关键字筛选

SQL语言提供了LIKE、IN、BETWEEN、IS NULL等关键字来筛选匹配的数据,这些关键字的功能功能分别是匹配字符串,查询目标值,限定值的范围和判断值是否为空。

LIKE关键字:放在where子句中,常用的通配符有”_”下划线,代表一个字符的数据,百分号“%”表示任意长度的字符。例如“M%”表示以M开头的任意长度的字符,“%M%”表示带有M的任意长度的字符。

可以在LIKE前面加上NOT,如果LIKE表示正,则NOT LIKE则表示为假,另外,在IN、BETWEEN、IS NULL前面也可以加上NOT,表示否定。

IN关键字:放在where子句中,当表示数值是否满足一个组中的一个条目时,可以用IN来表示。IN关键字的格式为IN(目标值1,目标值2…..)

BETWEEN关键字:放在where子句中,表示数值是否在两个指定的数值之间。通常使用BETWEEN…..AND 和 NOT…BETWEEN…..AND。当使用此查询条件时,必须满足第一个数值小于第二个数值。

IS NULL关键字:空值在技术上来说是未知的,不确定的,但空值与空字符串不一样,因为空值是不存在值的,而空字符串是长度为0的字符串。

因为空值是未知的,所以并不是所有的空值都相等。例如某个表中两个学生的年龄为空,但是无法确定两个同学的年龄是否相等。

逻辑筛选:

逻辑筛选位于where子句中,逻辑筛选常用的关键字为AND、OR、NOT

分组查询:

数据分组的目的是用来汇总数据或为整个分组显示单行的汇总信息,通常在查询结果集中使用GROUP BY,常与聚集函数一起使用,其语法格式为:

SELECT column_list

From table

Where 子句

GROUP BY column_list

 

HAVING子句对GROUP BY 的结果进一步筛选,最后输出符合HAVING 子句条件的记录。HAVING子句与WHERE 子句的用法大致相似,唯一不同的是HAVING子句中可以包含聚集函数,如count、sun、avg。

排序查询:

可以使用ORDER BY 子句对结果集进行排序。其语法为:

Select column_list

From table_name

[Where conditions]

[group by column_list]

ORDER BY [ASC/DESC]

ORDER BY 子句可以对结果集中的一列或多列进行排序,并且第一个排序为主要排序,接下来的排序为次要排序。

多表关联查询:

多表关联查询时,一般是要为表指定别名,因为关联的表中有相同的字段名,这样必须用表名和列名来确定,为了方便,多数情况下是要为表去别名的。而且一般是在where子句中来确定。

多表关联查询有以下几种:

1)      内连接

内连接是一种常用的连接方式,一般使用INNER JOIN 来实现,其中INNER可以省略不写,在使用内连接时必须在from子句后定义一个ON子句,表示内连接的条件。其语法格式如下:

Select column_list

From table1 JOIN table2

ON join_conditons

 

2)      外连接

内连接进行多表查询时,只返回符合查询条件和连接条件的行,外连接扩展了内连接的结果集,外联接可以返回部分或全部的结果集,这主要看是选取哪种外连接。外连接有三种:

左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)、完全外连接(FULL JOIN),与内连接不同的是外连接不仅给出了满足查询条件和连接条件的行,而且还能够包含左表(左外连接)、右表(右外连接)、两个表(完全连接)中所有不符合查询条件的行。

3)      自然连接

自然连接是指在检索多个表,oracle会将第一个表中的列与第二个表中具有相同名称的列进行自动连接,也就是说在结果集中不会出现相同列。这个任务有oracle自动完成,自然连接的关键字为NATURAL JOIN。

4)      交叉连接

交叉连接的结果是笛卡尔集,一般很少用。

2、  Oracle常用系统函数

1)  字符类函数

ASCII(c)和CHR(i)函数:c表示一个字符,表示返回c的ascii码值,i表示一个ascii码值,CHR表示返回i对应的字符。可以看出两者互逆。

CONCAT(S1,S2)函数:表示将字符串S2连接到字符串S1后面。

INITCAP(s)函数:该函数将字符串s的每个单词的第一个字母大写,其它字母小写。

INSTR(S1,S2,i,j)函数:该函数返回字符S2在字符串S1中第j次出现的位置,搜索从字符串S1的第i个字符开始,当没有发现S2时,返回0.

LENGTH(s)函数:该函数用于返回字符串s的长度,如果s为null,则返回值为null。

LOWER(s)和UPPER(s)函数:这两个函数用于返回字符串s的小写和大写形式,这两个函数经常出现在where子句中。

LTRIM(s1,s2)、RTRIM(s1,s2)和TRIM(s1,s2)函数:这三个函数分别用来删除s1左边的字符串s2,s1右边的字符串s2,s1左右两边的字符串s2.

REPLACE(s1,s2,s3)函数:该函数使用s3字符串替换在s1字符串中出现的所有的s2字符串,返回新字符串。

SUBSTR(s,i,j)函数:该函数表示从字符串s的第i各位置开始截取长度为j的子字符串。

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21161149/viewspace-1117441/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-03-20