Oracle查询语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle查询语句相关的知识,希望对你有一定的参考价值。

如何在一个表中查出相同的数据有多少? 表名:shop 字段:shop_name 根据名字查出相同的数据有多少!意思就是除了相同的数据剩下的!

参考技术A 如果只是查询相同数据有多少条:select shop_name count(*) 数量 from shop group by shop_name
查询相同数据只显示一条的信息:select * from shop a where rowid =(select
min(rowid) from shop b where b.shop_name=a.shop_name);
查询相同数据剩下的的信息:
select * from shop a where rowid >(select
min(rowid) from shop b where b.shop_name=a.shop_name);
参考技术B select distinct(shop_name) from shop 参考技术C select shop_name , count(*)
from shop
group by shop_name
having count(*) > 1
order by 1;
这是查询 shop_name , 重复的次数大于1次才查询出来
参考技术D select * from shop,(SELECT 主键,COUNT(1) as aaa FROM SHOP GROUP BY 主键) a where shop.主键 = a.主键 and a.aaa =1

连表条件自己写一下吧!~本回答被提问者采纳

oracle SQL查询语句

查询SMITH员工及其所有直接、间接下属员工的信息。
查询SCOTT员工及其直接、间接上级员工的信息。
以树状结构查询所有员工与领导之间的层次关系

SELECT LPAD(' ',(LEVEL-1)*3)||ename
FROM emp
START WITH ename='SMITH'
CONNECT BY PRIOR empno=mgr ;

SELECT ename
FROM emp
START WITH ename='SCOTT'
CONNECT BY PRIOR mgr=empno
ORDER BY LEVEL DESC ;

SELECT LPAD(' ',(LEVEL-1)*3)||ename
FROM emp
START WITH mgr IS NULL
CONNECT BY PRIOR empno=mgr ;
你问的是ORACLE中层次树状查询,START WITH 。。 CONNECT BY 用法。
START WITH 指明树的起点。至于是找上级还是下级(也就是你问的),关键就在于PRIOR的用
法。PRIOR的意思是前一个。
比如:START WITH ename='SMITH'
CONNECT BY PRIOR empno=mgr ;
的意思:ename='SMITH'表示树的起点,即第一行
CONNECT BY PRIOR empno=mgr 表示上一行员工的编号是当前行的管理者,即找SMITH的下属。

START WITH ename='SCOTT'树的起点,即第一行
CONNECT BY PRIOR mgr=empno 表示上一行员工的管理员编号是当前员工的编号,即找SCOTT的上级及间接上级。
参考技术A select employee_id,last_name,manager_id from employees start with last_name='Smith' connect by prior employee_id=manager_id;
select employee_id,last_name,manager_id from employees start with last_name='SCOTT' connect by prior manager_id=employee_id;
select employee_id,last_name,manager_id from employees connect by prior
employee_id=manager_id;

以上是关于Oracle查询语句的主要内容,如果未能解决你的问题,请参考以下文章

Oracle查询语句

oracle中拼接查询语句

oracle 用sql语句查询 已打补丁列表。

oracle数据库中多条件查询语句怎么写?

ORACLE分页查询SQL语句

Oracle分页查询语句的写法(转)