首页  »   Oracle开发

oracle练习-来自芝加哥的有钱人

网友分享于:2017-08-21  浏览:0次
oracle练习题--来自芝加哥的有钱人

题目:从 scott 用户的 emp/dept 表中,找到“来自芝加哥最有钱的那个人”。

 

思路:

1、这个人来自芝加哥

2、这个人是最有钱的,而且是芝加哥最有钱的

 

分两步查询:

1、找出所有来自芝加哥的人

2、从来自芝加哥的人中找到最有钱的那个

 

:1、打开运行界面:window键+R-->输入cmd

:2、通过sqlplus查询工具查询scott系统数据库:C:\Users\Admin>sqlplus scott/zhang1622505426   -->sqlplus  数据库名/你的密码  

:3、先看看这个scott数据库里包含哪几个表:SQL> select table_name from user_tables;  

:4、查询scott数据库中的emp表:SQL> select * from emp;

:5、查询scott数据库中的dept表:SQL> select * from dept;

:6、为了使查询的数据在一行显示可以通过这个语句进行调整:SQL> set linesize 100

:7、查询芝加哥所有的人:SQL>select e.* from emp e join dept d on (e.deptno=d.deptno) where d.loc='CHICAGO';  --join关键词可以进行连接查询,on后面指定连接的条件    

 SQL>select e.* from emp e,dept d where d.deptno=e.deptno and d.loc='CHICAGO';

:8、通过max()函数的方式查询芝加哥所有人中最有钱的人的所有信息:SQL> select e.* from emp e,dept d where e.deptno=d.deptno and d.loc='CHICAGO' and sal=(select max(sal) from emp e,dept d where e.deptno=d.deptno and d.loc='CHICAGO');   --select max(sal) from emp e,dept d where e.deptno=d.deptno and d.loc='CHICAGO'); 是查询芝加哥最高的工资是多少   

   或:通过order by的方式查询芝加哥所有人中最有钱的人的名字:SQL> select ename from (select e.*,d.* from emp e,dept d where e.deptno=d.deptno and d.loc='CHICAGO' order by sal desc) where rownum=1; --order by:排序;order by sal desc:根据工资的多少进行倒叙排序;rownum=1:表示取排序后的第一行;

1楼Timision
max()函数方式比较直接,order by方式比较形象直观

相关解决方案

最新解决方案