重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
select *
目前创新互联已为近1000家的企业提供了网站建设、域名、雅安服务器托管、网站托管维护、企业网站设计、路北网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
from table_name
where 1 = 1 --没有条件可以不写where
connect by parent_id = prior child_id
start with parent_id = 1
向下递归+叶子节点过滤就行了,例子:
--模拟数据
with tmp(id,pid) as
(SELECT 'A','' FROM DUAL UNION ALL
SELECT 'B','A' FROM DUAL UNION ALL
SELECT 'C','A' FROM DUAL UNION ALL
SELECT 'D','B' FROM DUAL UNION ALL
SELECT 'E','B' FROM DUAL UNION ALL
SELECT 'F','C' FROM DUAL UNION ALL
SELECT 'G','F' FROM DUAL )
SELECT ID FROM TMP T
WHERE CONNECT_BY_ISLEAF=1 --只显示叶子节点
START WITH T.ID='A' --递归起点,即查询条件
CONNECT BY PRIOR ID=PID --递归条件,向下递归
如果是SQL2005以上则可以用CTE递归写法
use tempdb
go
create table #emp
(eid integer not null,
ename varchar(10) not null,
epid integer null,
)
insert into #emp
select 1,'A',5
union all
select 2,'me',3
union all
select 3,'bos',4
union all
select 4,'boss',null
select * from #emp
;with empcte as
(select epid,(select ename from #emp b where b.eid = a.epid) as name from #emp a where ename = 'me'
union all
select b.epid,(select ename from #emp where eid = b.epid) as name from empcte a join #emp b on a.epid = b.eid
)
select * from empcte where epid is not null
1.系统表
ORACLE数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYSYTEM进行查询。几个重要的表或者视图如下:
v$controlfile:控制文件的信息;
v$datafile:数据文件的信息;
v$log:日志文件的信息;
v$process:处理器的信息;
v$session:会话信息;
v$transaction:事务信息;
v$resource:资源信息;
v$sga:系统全局区的信息。
上面的视图名中的‘v$’,只是视图名字中的字符。类似于上面的视图或表还有很多,位于:
$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL文件中。
这些视图或表可以在SQLPLUS中用SELECT语句进行查询。
2.数据字典视图
表和列
DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。
DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括表。
完整性约束
DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST显示有关约束的一般信息。
DBA_CONS_COLUMNS、ALL_CONS_COLUMNS和USER_CONS_COLUMNS显示有关列的相关约束的一般信息。
视图
DBA_VIEWS、ALL_VIEWS和USER_VIEWS。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括视图。
序列
DBA_SEQUENCES、ALL_SEQUENCES和USER_SEQUENCES。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括序列。
同义词
DBA_SYNONYMS、ALL_SYNONYMS和USER_SYNONYMS。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括同义词。
索引
DBA_INDEXS、ALL_INDEXS、USER_INDEXS、DBA_IND_COLUMNS、ALL_IND_COLUMNS和USER_IND_COLUMNS。
用户
DBA_USERS。
角色
DBA_ROLES。
表空间定额
DBA_TS_QUOTAS。
配置表
DBA_PROFILES。
表空间
DBA_TABLESPACES。
数据文件
DBA_DATA_FILES。
段
DBA_SEGMENTS、USER_SEGMENT。
回滚段
DBA_ROLLBACK_SEGS、V$ROLLNAME、V$ROLLSTAT。
第二道题你参考楼上的就行了
你没有贴表名和结构代码,根据你的贴图,写了如下SQL,希望对你有帮助,如有问题可以追问,
你的表是树级的结构,有上下级关系,查询是比较容易的,用编号和用名称查没本质区别,你在套一层就可以了,
select *
from 表名 a
where a.organ_id != '3709'
start with a.organ_id = '3709'
connect by prior a.parent_id = a.organ_id
查 泰安市 的上级地区应该是 山东
1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
select * from dba_sys_privs;
select * from user_sys_privs; (查看当前用户所拥有的权限)
3.查看角色(只能查看登陆用户拥有的角色)所包含的权限
sqlselect * from role_sys_privs;
4.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5.查看所有角色: select * from dba_roles;
6.查看用户或角色所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS