題目:從 scott 用戶的 emp/dept 表中,找到“來自芝加哥最有錢的那個人”。 思路: 1、這個人來自芝加哥 2、這個人是最有錢的,而且是芝加哥最有錢的 分兩步查詢: 1、找出所有來自芝加哥的人 2、從來自芝加哥的人中找到最有錢的那個 :1、打開運行界面:window鍵+R-->輸入cmd ...
題目:從 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:表示取排序後的第一行;