`
Small_madman
  • 浏览: 2309 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

SQL查询语句(oralce)(1)

阅读更多

一、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
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics