SQL查询语句(oralce)(1)

标签: sql 语句 oralce | 发表时间:2012-04-22 22:43 | 作者:
出处:http://www.iteye.com

一、SQL命令

1.数据定义语言:DDL

  主要用于创建删除数据库对象和维护数据对象的属性。主要有三个主命令:CREATE .DROP . ALTER

示例:

SQL>--创建普通数据表

SQL>CREATE TABLE ORDERS

(

Oid number PRIMARY KEY NOT NULL,

username varchar2(50) references USERINFO (username)

);

SQL>--创建备份数据表

SQL>CREATE TABLE 表1 AS SELECT * FROM 表2;

SQL>--删除表

SQL>DROP TABLE 表名;

SQL>--添加.修改.删除字段

SQL> ALTER TABLE 表名 ADD/MODIFY(字段 类型);

SQL> ALTER TABLE 表名 DROP(字段);

2.数据操作语言:DML

    数据操作语言主要是对表数据操作的一些指令,

包括SELECT .INSERT .UPDATE.DELETE。

(1)普通查询语句:SELECT 字段 FROM 表名 WHERE 神马字段 = 神马;等等

(2)关联查询:

内连接:连接两个表中只要数据存在不匹配就都不显示

示例1:SELECT 字段.... FROM 表1 JOIN 表2 ON 表1.字段0 = 表2.字段0 ORDER BY 字段0

示例2:SELECT 字段.... FROM 表1 INNER JOIN 表2 ON 表1.字段0 = 表2.字段0  ORDER BY 字段0

示例3:SELECT 字段.... FROM 表1,表2 WHERE 表1.字段0 = 表2.字段0 ORDER BY 字段0

外连接:在两个表连接查询时,两个表中都存在空匹配的记录,这些记录都显示出   来,空匹配的字段用Null表示。

示例1:SELECT 字段.... FROM 表1  FULL OUTER JOIN 表2 ON 表1.字段0 = 表2.字段0

示例2:SELECT 字段.... FROM 表1  FULL  JOIN 表2 ON 表1.字段0 = 表2.字段0

左连接:连接两个表的左表为主显示表,空匹配用Null

示例1:SELECT 字段 FROM 表1 LEFT JOIN 表2 ON 表1.字段0 = 表2.字段0

示例2:SELECT 字段 FROM 表1 LEFT OUTER JOIN 表2 ON 表1.字段0 = 表2.字段0

示例3:SELECT 字段 FROM 表1 , 表2 WHERE 表1.字段0 = 表2.字段0(+)

右连接:类似于左连接,但是以右表为基表

示例1:SELECT 字段 FROM 表1 RIGHT JOIN 表2 ON 表1.字段0 = 表2.字段0

示例2:SELECT 字段 FROM 表1 RIGHT OUTER JOIN 表2 ON 表1.字段0 = 表2.字段0

示例3:SELECT 字段 FROM 表1 , 表2 WHERE 表1.字段0(+) = 表2.字段0

(3)插入.修改数据

示例: SQL>INSERT INTO 表名 VALUES(对应的内容);

   SQL>UPDATE 表名 SET  神马字段=新内容 WHERE ID = 那一个;

3.数据控制语言:DCL

主要用于数据库中权限的授予和取消。

角色:系统中一组权限的集合,可以将一个角色授予一个用户,这个用户会同时拥有 该角色所有权限

常用角色:CONNECT(基本的连接),RESOURCE(资源使用),DBA(数据库管理)

授权

示例1:SQL> GRANT CONNECT,RESOURCE TO 用户名;

示例2:

GRANT ALL ON 对象名 TO 用户名;是将该对象上的所有权限授予指定用户。

回收权限:

示例1:REVOKE 系统权限名 FROM 用户名

示例2:REVOKE 对象权限名 ON 对象名 FROM 用户名

4.事务控制语言:TCL

TCL几个事务控制命令:

COMMIT(提交) . ROLLBACK(回退) . SAVEPOINT(保存)

 

5.伪表及伪列

(1)DUAL的伪表,这个表的数据中有一行一列

示例:SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss') FROM DUAL;

(2)伪列

ROWID 记录每一数据行在硬盘上位置的唯一标识;

ROWNUM 标识查询结果集中记录序号;

LEVEL 查询数据所对应的层次;

注:在select查询中执行计划是首先给出 rownum 排序,然后进行 order by 排序。 

6.集合运算

    (1)并集(UNION):目的是将两个sql语句的结果合并起来,可以查看你要查询的结果

 UNION : 会排除重复的记录。

UNION ALL :不会排除重复的记录,速度较UNION快很多,建议在相同的情况下用这个。

注:UNION 用法中,两个select语句的字段类型匹配,并且字段个数要相同。

示例1:SQL>SELECT * FROM 表1 UNION SELECT * FROM 表2;

示例2:SQL>SELECT * FROM 表1 UNION ALL SELECT * FROM 表;

(2)交集(INTERSECT):会在两个查询结果中找到相同的记录。

示例:SQL>SELECT * FROM 表1  INTERSECT  ALL SELECT * FROM 表2;

(3)剪集/割集(MINUS):会从第一个结果集合中减去第二个结果集合中存在的记录。

示例:SQL>SELECT * FROM 表1   MINUS   ALL SELECT * FROM 表2;

 

 

 

 

 

 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [sql 语句 oralce] 推荐:

SQL查询语句(oralce)(1)

- - ITeye博客
  主要用于创建删除数据库对象和维护数据对象的属性. 主要有三个主命令:CREATE .DROP. SQL>CREATE TABLE 表1 AS SELECT * FROM 表2;. SQL>DROP TABLE 表名;. SQL>--添加.修改.删除字段. SQL> ALTER TABLE 表名 ADD/MODIFY(字段 类型);.

sql语句总结

- zhaoloving - 博客园-首页原创精华区
1、创建数据库语句(以部门表(department)和员工表(employee)位例). --员工表 employee.   alter table [表名] add .     constraint [键名] Primary key [主键名称].   alter table [表名] add.      constraint [键名] unique(唯一键名称).

SQL语句大全

- - SQL - 编程语言 - ITeye博客
原文地址:http://www.cnblogs.com/yubinfeng/archive/2010/11/02/1867386.html. 3、说明:备份sql server. --- 创建 备份数据的 device. A:create table tab_new like tab_old (使用旧表创建新表).

sql经典语句

- - 数据库 - ITeye博客
3、说明:备份sql server. --- 创建 备份数据的 device. table tab_new like tab_old (使用旧表创建新表). DB2中列加上后数据类型也不能改变,唯一能改变的是增加. 注:索引是不可更改的,想更改必须删除重新建. 10、说明:几个简单的基本的sql语句.

sql语句优化

- - 数据库 - ITeye博客
性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化. 为了获得稳定的执行性能,SQL语句越简单越好. 对复杂的SQL语句,要设法对之进行简化. 1)不要有超过5个以上的表连接(JOIN). 2)考虑使用临时表或表变量存放中间结果.

Java中如何解析SQL语句、格式化SQL语句、生成SQL语句?

- - 程序猿DD
昨天在群里看到有小伙伴问,Java里如何解析SQL语句然后格式化SQL,是否有现成​类库可以使用. 之前TJ没有做过这类需求,所以去研究了一下,并找到了一个不过的解决方案,今天推荐给大家,如果您正要做类似内容,那就拿来试试,如果暂时没需求,就先了解收藏(技多不压身). JSqlParser是一个用Java编写的SQL解析器,可以将SQL语句解析为Java对象,从而使开发人员能够轻松地分析、修改和重构SQL查询.

(转)经典sql查询语句大全

- - SQL - 编程语言 - ITeye博客
3、说明:备份sql server. --- 创建 备份数据的 device. A:create table tab_new like tab_old (使用旧表创建新表). DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度. 7、说明:添加主键: Alter table tabname add primary key(col).

P6SPY 2.0 发布,SQL 语句拦截

- - 开源中国社区最新新闻
8年过去了,P6SPY 发布了全新稳定版本 2.0 ,P6Spy是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架. 通过P6Spy我们可以对SQL语句进行拦截,相当于一个SQL语句的记录器,这样我们可以用它来作相关的分析,比如性能分析. 下载地址: https://github.com/p6spy/p6spy/wiki/Download.

如何写出高性能SQL语句

- - Oracle - 数据库 - ITeye博客
优化SQL查询:如何写出高性能SQL语句. 1、首先要搞明白什么叫执行计划. 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生欀如一条SQL语句如果用来从一个10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用“全表扫描”方式.

如何使用动态SQL语句?

- - CSDN博客数据库推荐文章
这里只介绍动态SQL的使用. 关于动态SQL语句的语法,参见: http://blog.csdn.net/chiclewu/article/details/16097133. 1.什么是时候需要使用动态SQL. 例如,SELECT语句包含的标识符(如表名)在编译时是未知的,或者WHERE子句的条件数量在编译时是未知.