`
solomongg
  • 浏览: 53076 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Oracle的小结

 
阅读更多

Oracle 的左连接和右连接
PL-SQL中,左连接和右连接以如下方式来实现
查看如下语句:
SELECT emp_name, dept_name FORM Employee, Department   WHERE Employee.emp_deptid(+) = Department.deptid
此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,
无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。

反之:
SELECT emp_name, dept_name FORM Employee, Department WHERE Employee.emp_deptid = Department.deptid(+)
则是左连接,无论这个员工有没有一个能在Department表中得到匹配的部门号,这个员工的记录都会被显示

一般的相等连接:
select * from a, b where a.id = b.id;
这个就属于内连接。
 
对于外连接 :
Oracle 中可以使用“(+) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN 
 
LEFT OUTER JOIN:左外关联 
SELECT e.last_name, e.department_id, d.department_name 
FROM employees e 
LEFT OUTER JOIN departments d 
ON (e.department_id = d.department_id); 
等价于 
SELECT e.last_name, e.department_id, d.department_name 
FROM employees e, departments d 
WHERE e.department_id=d.department_id(+) 
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。 
 
RIGHT OUTER JOIN:右外关联 
SELECT e.last_name, e.department_id, d.department_name 
FROM employees e 
RIGHT OUTER JOIN departments d 
ON (e.department_id = d.department_id); 
等价于 
SELECT e.last_name, e.department_id, d.department_name 
FROM employees e, departments d 
WHERE e.department_id(+)=d.department_id 
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。 
 
FULL OUTER JOIN:全外关联 
SELECT e.last_name, e.department_id, d.department_name 
FROM employees e 
FULL OUTER JOIN departments d 
ON (e.department_id = d.department_id); 
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。

Oracle 用户数据字典 以及 查询表字段查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users;

查看当前用户的角色
SQL>select * from user_role_privs;

查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;

查看用户下所有的表
SQL>select * from user_tables;

显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace
from dba_users where username='GAME';

1、用户

查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users;

查看当前用户的角色
SQL>select * from user_role_privs;

查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;

显示当前会话所具有的权限
SQL>select * from session_privs;

显示指定用户所具有的系统权限
SQL>select * from dba_sys_privs where grantee='GAME';

显示特权用户
select * from v$pwfile_users;

显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace
from dba_users where username='GAME';

显示用户的PROFILE
select profile from dba_users where username='GAME';


2、表

查看用户下所有的表
SQL>select * from user_tables;

查看名称包含log字符的表
SQL>select object_name,object_id from user_objects
where instr(object_name,'LOG')>0;

查看某表的创建时间
SQL>select object_name,created from user_objects where object_name=upper('&table_name');

查看某表的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name');

查看放在ORACLE的内存区里的表
SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;

3、索引

查看索引个数和类别
SQL>select index_name,index_type,table_name from user_indexes order by table_name;

查看索引被索引的字段
SQL>select * from user_ind_columns where index_name=upper('&index_name');

查看索引的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name');

4、序列号

查看序列号,last_number是当前值
SQL>select * from user_sequences;

5、视图

查看视图的名称
SQL>select view_name from user_views;

查看创建视图的select语句
SQL>set view_name,text_length from user_views;
SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小
SQL>select text from user_views where view_name=upper('&view_name');

6、同义词

查看同义词的名称
SQL>select * from user_synonyms;

7、约束条件

查看某表的约束条件
SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
from user_constraints where table_name = upper('&table_name');

SQL>select c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
and c.owner = cc.owner and c.constraint_name = cc.constraint_name
order by cc.position;

8、存储函数和过程

查看函数和过程的状态
SQL>select object_name,status from user_objects where object_type='FUNCTION';
SQL>select object_name,status from user_objects where object_type='PROCEDURE';

查看函数和过程的源代码
SQL>select text from all_source where owner=user and name=upper('&plsql_name');
--------------------------------------------------oracle 查询 表字段 以及字段 数据类型 -----------------------------------------


第一种

select cname from col where tname='EMP';

第二种

select column_name from user_tab_columns where table_name='EMP';

 

 

介绍  如果查询数据的  字段数据类型

select data_type from user_tab_columns where table_name='EMP';

 

 

两个一起查


select data_type,column_name from user_tab_columns where table_name='EMP';



--------------------------------------------查询 字段注释---------------------------------------------

select * from user_col_comments ;//所有的注释
select * from user_col_comments where table_name='你的表(emp)' ;//指定表的注释

分享到:
评论

相关推荐

    oracle小结.ppt

    本文将根据提供的"oracle小结.ppt"内容,对Oracle数据库系统及其相关知识点进行详细总结。 1. 数据库系统概述: - 数据:描述事物的符号记录,是数据库中的基本元素。 - 数据库:存储在计算机内,有组织且可共享的...

    oracle小结

    本文将基于给定的"Oracle小结"内容,对Oracle数据库的基础知识进行深入解析,特别关注如何使用SQL查询来解决实际问题。 首先,我们要理解Oracle数据库中的基本概念。在示例中涉及到的两个关键表格——Emp和Dept,...

    oracle 小结 sqlplus 系统表

    从给定的文件信息中,我们可以总结出一系列与Oracle数据库管理相关的知识点,涵盖SQL*Plus命令、系统表操作、性能优化、以及Oracle数据库的启动和关闭等关键领域。以下是详细的知识点归纳: ### SQL*Plus命令及性能...

    Oracle数据库函数小结

    对Oracle数据库所使用的函数进行了总结,可以速查这些函数的用法并且附带例子

    oracle学习小结1.1

    根据提供的文件信息,我们可以整理出一系列关于Oracle数据库学习的基础知识点,包括索引、存储过程、日期格式转换等内容。下面将对这些知识点进行详细的说明。 ### 1. 启动监听器 - **命令行操作**:通过命令行来...

    传至播客oracle学习笔记

    "oracle小结.txt"可能是对Oracle数据库基础概念和功能的总结,可能包含数据库创建、表的定义、索引、视图、存储过程、触发器等内容。这些是每个Oracle数据库管理员或开发者必备的基础知识。 "oracle命令集.txt"可能...

    oracle环境变量学习小结.

    ### Oracle环境变量学习小结 #### 一、Oracle环境变量的重要性及作用 Oracle数据库系统作为全球最流行的数据库管理系统之一,在企业级应用中占有极其重要的地位。为了更好地管理和配置Oracle数据库,Oracle利用了...

    oracle命令小结

    本文将深入解析“oracle命令小结”这一主题,重点介绍Oracle数据库的日志管理和表空间管理两个关键领域中的常用SQL语句,帮助读者更全面地理解和掌握Oracle数据库的管理技巧。 ### 一、日志管理 #### 1. 强制切换...

    ORACLE审计小结

    ### ORACLE审计小结 #### 一、Oracle审计概述 Oracle数据库提供了强大的审计功能,用于监控用户对数据库的操作。审计信息可以保存到操作系统文件中,默认路径是 `$ORACLE_BASE/admin/$ORACLE_SID/adump/`,也可以...

    Oracle优化小结

    Oracle数据库优化是数据库管理员日常工作中至关重要的一环,尤其是在Oracle 10g这样的企业级数据库系统中。优化不仅仅是针对SQL语句的改进,而是涵盖了整个数据库系统,包括硬件、操作系统、数据库配置以及应用设计...

    OracleASM常用知识小结

    ### Oracle ASM 常用知识小结 #### 一、ASM 概述 **ASM (Automatic Storage Management)** 是 Oracle 10g 引入的一种新型的存储管理技术,旨在为数据库提供高性能、高可用性以及易管理性的存储解决方案。通过 ASM...

    Oracle ASM 常用知识小结

    Oracle ASM 常用知识小结 !!!!!!!

    Oracle JOB 用法小结

    Oracle的JOB功能是一种定时任务调度机制,用于在数据库后台自动执行预定义的PL/SQL代码块或存储过程。以下是对Oracle JOB用法的详细总结: 首先,为了启用JOB队列,需要设置初始化参数`job_queue_processes`。通过...

    关于Oracle课程小结.docx

    在这个Oracle课程小结中,我们将探讨几个核心概念:DUAL表、NULL值处理以及常用的SQL函数。 首先,DUAL表在Oracle数据库中扮演着特殊的角色。它是一个只有一行一列的系统表,属于SYS模式,并通过PUBLIC SYNONYM公开...

Global site tag (gtag.js) - Google Analytics