group by
關鍵字
輸出:
JOB_ID MAX(SALARY) MIN(SALARY) AVG(SALARY) SUM(SALARY)------------------------------ ----------- ----------- ----------- -----------AC_MGR 12000 12000 12000 12000AC_ACCOUNT 8300 8300 8300 8300IT_PROG 9000 4200 5760 28800ST_MAN 8200 5800 7280 36400AD_ASST 4400 4400 4400 4400PU_MAN 11000 11000 11000 11000SH_CLERK 4200 2500 3215 64300AD_VP 17000 17000 17000 34000FI_ACCOUNT 9000 6900 7920 39600MK_MAN 13000 13000 13000 13000PR_REP 10000 10000 10000 10000輸出:
JOB_ID COUNT(EMPLOYEE_ID)------------------------------ ------------------FI_MGR 1PU_CLERK 5SA_MAN 5MK_REP 1AD_PRES 1SA_REP 30HR_REP 1ST_CLERK 2019 rows selected.注意: - where必須跟在 from ...
之后 - having必須跟在group by...
之后
輸出:
MANAGER_ID MIN(SALARY)---------- ----------- 147 6200 205 8300 108 6900 148 6100 149 6200 201 6000 102 9000 145 7000 146 70009 rows selected.何為子查詢?
通俗的來講,想要查詢的結果必須依賴其他查詢就是子查詢
注意
子查詢要包含在括號內。將子查詢放在比較條件的右側。單行操作符對應單行子查詢,多行操作符對應多行子查詢。SQL> select last_name from employees where salary > (select salary from employees where last_name='Abel');輸出:
LAST_NAME--------------------HartsteinHigginsKingKochharDe HaanGreenbergRussellPartnersErrazurizOzer10 rows selected.該語句包含了 :分組查詢、組函數、以及having關鍵字
select department_id,min(salary) from employees group by department_id having min(salary) > (select min(salary) from employees where department_id = 50);輸出:
DEPARTMENT_ID MIN(SALARY)------------- ----------- 100 6900 30 2500 7000 20 6000 70 10000 90 17000 110 8300 40 6500 80 6100 10 4400 60 420011 rows selected.操作符 | 含義 |
---|---|
IN | 等于列表中的任意一個 |
ANY | 和子查詢返回的某一個值比較 |
ALL | 和子查詢返回的所有值比較 |
輸出:
LAST_NAME SALARY JOB_ID------------------------------ ---------Hutton 8800 SA_REP....76 rows selected.輸出:
LAST_NAME SALARY JOB_ID-------------------- --------Philtanker 2200 ST_CLERK Olson 2100 ST_CLERK....44 rows selected.注意:上面的事76行記錄,下面的事44行記錄
輸出:
EMPLOYEE_ID LAST_NAME SALARY------------------------------------------193 Everett 3900.....38 rows selected.輸出:
LAST_NAME SALARY----------------------------Cambrault 11000 Zlotkey 10500......14 rows selected.新聞熱點
疑難解答