Oracle数据库的查询

Posted 嘿抬头i

tags:

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

单表简单查询:

select * from scott.emp

去重:

--去除重复记录

select distinct  ssex from java1227;
select distinct  (ssex) from java1227;

别名:

--给指定字段指定别名
select ssid as 编号 ,sname as 姓名 from java

排序:

--排序 倒序 desc
select * from java1227 order by ssid desc;

模糊查询:

--模糊查询
select * from java0322 where sname like ___;
select * from java0322 where sname like %四%;

多表连接查询:

交叉连接:若查询共有字段,需要制定该字段来自哪个表格;-----自然连接

--内连接
select * from java0322 join sclass on java0322.cid =sclass.cid;
-- 给表起别名
select * from java0322 a join sclass b on a.cid = b.cid;

外连接:

 

--左外连接(左边的全部)
select * from sclass  a left join java0322 b on a.cid =b.cid;

--右外连接(右表的全部)
select * from java0322 a right join sclass b on a.cid =b.cid;

--全外连接

select * from sclass a full join java0322 b on a.cid = b.cid;

分组聚合:

group by:

-- 查询男女各多少(按性别分组后查询所有,然后再查个数)
select ssex,count(*) from java1227 group by ssex;
-- 查询性别大于1 的性别
select ssex from java1227 group by ssex having count(*)>1;

where 放在group 之前,分组之后条件用having;

 

-- 子查询--查询性别为女的学生所在的班级
select cname from sclass where cid in (select cid from java0322 where ssex=);
--查询阳光班的所有男同学的地址
select saddress from java0322 where ssex =and cid in(select cid from sclass where cname=阳光班);

select saddress from java0322 a join sclass b on a.cid = b.cid where ssex= and cname=阳光班;

select * from (select sclass.cid,cname,ssid,sname from sclass join java0322 on java0322.cid = sclass.cid)

分页:

--分行---查询第2条
select * from(select rownum as num,sclass.cid,cname,ssid,sname from sclass join java0322 on java0322.cid = sclass.cid) where num >1 and num<3;

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

sql Oracle代码片段

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

Oracle-常用数据库对象笔记(片段)

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

片段视图返回后执行的 Firebase 查询

没索引oracle无唯一索引交换分区会丢失数据?