查詢語(yǔ)句差不多的
創(chuàng)新互聯(lián)是專業(yè)的金林網(wǎng)站建設(shè)公司,金林接單;提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行金林網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
select?*?from?表名--最基礎(chǔ)的查詢與SQL?Server一樣
(ORACLE) ?SELECT a.*, b.* from a(+) = b就是一個(gè)右連接,等同于select a.*, b.* from a right join b ?(ORACLE與SQL Server)
(ORACLE) ?SELECT a.*, b.* from a = b(+)就是一個(gè)左連接,等同于select a.*, b.* from a left join b (Oracle 與SQL Server)
記得加條件
1.create user username identified by password;//建用戶名和密碼oracle ,oracle
2.grant connect,resource,dba to username;//授權(quán) grant connect,resource,dba,sysdba to username;
3.connect username/password//進(jìn)入。
4.select table_name,column_name from user_tab_columns where table_name='TABLE_NAME';//查詢表中的表名,字段名等等。 最后的table_name要大寫。
5. 如何執(zhí)行腳本SQL文件? SQL@PATH/filename.sql;
7.查詢用戶下的所有表 select distinct table_name from user_tab_columns; ===僅顯示一列表名。
8.如何搜索出前N條記錄?
select * from tablename where rownumn;--足矣。(--是注釋用的標(biāo)記)
9.查找用戶下的所有表:select * from tab; --查詢?cè)撚脩粝碌乃斜砑耙晥D(顯示表名tname, 類型tabname和clusterid)
2、顯示當(dāng)前連接用戶
SQL show user –不能用在sql窗口 只能用在command命令窗口。
3、查看系統(tǒng)擁有哪些用戶
SQL select * from all_users;
4、新建用戶并授權(quán)
SQL create user a identified by a;(默認(rèn)建在SYSTEM表空間下)
SQL grant connect,resource to a;
5、連接到新用戶
SQL conn a/a –或者是connect a/a
6、查詢當(dāng)前用戶下所有對(duì)象
SQL select * from tab; --table或是view
7、建立第一個(gè)表
SQL create table a(a number);
8、查詢表結(jié)構(gòu)
SQL desc a
9、插入新記錄
SQL insert into a values(1);
10、查詢記錄
SQL select * from a;
11、更改記錄
SQL update a set a=2;
12、刪除記錄
SQL delete from a;
13、回滾
SQL roll;
SQL rollback;
14、提交
SQL commit;
select * from
(select t.*,dense_rank() over (order by cardkind) rank from cardkind t)
where rank = 2;
46. 如何在字符串里加回車?
select 'Welcome to visit'||chr(10)||'' from dual ; --‘||chr(10)||’作為換行符
53. 如何使select語(yǔ)句使查詢結(jié)果自動(dòng)生成序號(hào)?
select rownum COL from table; --主要就是oracle中引入了rownum
54. 如何知道數(shù)據(jù)褲中某個(gè)表所在的tablespace?
select tablespace_name from user_tables where table_name='TEST'; --table_name名稱要大寫。
select * from user_tables中有個(gè)字段TABLESPACE_NAME,(oracle);
select * from dba_segments where …;
55. 怎么可以快速做一個(gè)和原表一樣的備份表?
create table new_table as (select * from old_table);
59. 請(qǐng)問如何修改一張表的主鍵?
alter table aaa drop constraint aaa_key ;
alter table aaa add constraint aaa_key primary key(a1,b1) ;
60. 改變數(shù)據(jù)文件的大小?
用 ALTER DATABASE .... DATAFILE .... ;
手工改變數(shù)據(jù)文件的大小,對(duì)于原來的 數(shù)據(jù)文件有沒有損害。
61. 怎樣查看ORACLE中有哪些程序在運(yùn)行之中?
查看v$session表
62. 怎么可以看到數(shù)據(jù)庫(kù)有多少個(gè)tablespace?
select * from dba_tablespaces;
數(shù)據(jù)查詢 是數(shù)據(jù)庫(kù)操作中最主要的功能之一;有時(shí)候數(shù)據(jù)庫(kù)查詢性能的好壞 直接關(guān)系到數(shù)據(jù)庫(kù)的運(yùn)行效率 關(guān)系到數(shù)據(jù)庫(kù)的選型 下面筆者不談大道理 只是對(duì)其中對(duì)一些平時(shí)大家容易忽略的查詢小技巧做一些總結(jié) 或許大家可能正在為此犯愁呢?
第一個(gè)技巧 利用連接符連接多個(gè)字段
如在員工基本信息表中 有員工姓名 員工職位 出身日期等等 如果現(xiàn)在視圖中這三個(gè)字段顯示在同一個(gè)字段中 并且中間有分割符 如我現(xiàn)在想顯示的結(jié)果為 經(jīng)理Victor出身于 年 月 日 這該如何處理呢?其實(shí) 這是比較簡(jiǎn)單的 我們可以在Select查詢語(yǔ)句中 利用連接符把這些字段連接起來
如可以這么寫查詢語(yǔ)句
SELECT員工職位 || ||員工姓名|| 出身于 ||出身日期 as 員工出身信息 FROM 員工基本信息表;
通過這條語(yǔ)句就可以實(shí)現(xiàn)如上的需求 也就是說 我們?cè)谄綍r(shí)查詢中 可以利用||連接符把一些相關(guān)的字段連接起來 這在報(bào)表視圖中非常的有用 如筆者以前在設(shè)計(jì)圖書館管理系統(tǒng)的時(shí)候 在書的基本信息處有圖書的出版社 出版序列號(hào)等等內(nèi)容 但是 有時(shí)會(huì)在打印報(bào)表的時(shí)候 需要把這些字段合并成一個(gè)字段打印 為此 就需要利用這個(gè)連接符把這些字段連接起來 而且 利用連接符還可以在字段中間加入一些說明性的文字 以方便大家閱讀 如上面我在員工職位與員工姓名之間加入了空格;并且在員工姓名與出身日期之間加入了出身于幾個(gè)注釋性的文字 這些功能看起來比較小 但是卻可以大大的提高內(nèi)容的可讀性 這也是我們?cè)跀?shù)據(jù)庫(kù)設(shè)計(jì)過程中需要關(guān)注的一個(gè)內(nèi)容
總之 令后采用連接符 可以提高我們報(bào)表的可讀性于靈活性
第二個(gè)技巧 取消重復(fù)的行
如在人事管理系統(tǒng)中 有員工基本信息基本表 在這張表中 可能會(huì)有部門 職位 員工姓名 身份證件號(hào)碼等字段 若查詢這些內(nèi)容 可能不會(huì)有重復(fù)的行 但是 我若想知道 在公司內(nèi)部設(shè)置了哪些部門與職位的時(shí)候 并且這些部門與職位配置了相關(guān)人員 此時(shí) 又該如何查詢呢?
若我現(xiàn)在直接查詢部門表 其可以知道系統(tǒng)中具體設(shè)置了哪些部門與職位 但是 很有可能這些部門或者職位由于人事變動(dòng)的關(guān)系 現(xiàn)在已經(jīng)沒有人了 所以 這里查詢出來的是所有的部門與職位信息 而不能夠保證這個(gè)部門或者職位一定有職員存在 也就是說 這不能夠滿足于我們上面的要求
若我現(xiàn)在直接從員工信息表中查詢 雖然可以保證所查詢出來的部門與職位信息 一定有員工信息的存在 但是 此時(shí)查詢出來的部門與職位信息會(huì)有重復(fù)的行 如采購(gòu)部門分工合作 可能會(huì)有采購(gòu)采購(gòu)小組長(zhǎng) 此時(shí) 在查詢出來的部門與職位的信息中 就會(huì)有三條重復(fù)的記錄
所以 以上兩種處理方式 都不能夠百分之百的滿足企業(yè)用戶的需求 此時(shí) 我們其實(shí)可以利用一個(gè)DISTINCT函數(shù) 來消除其中查詢出來的重復(fù)行
如我們可以利用SELECT DISTINCT 部門信息 職位信息 FROM 員工基本信息表 通過這條加了DISTINCT約束的查詢語(yǔ)句 不但可以查詢出所有有員工的職位與部門信息 而且 會(huì)把重復(fù)的記錄過濾掉 從而提高可閱讀性
所以 在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中 特別是在查詢語(yǔ)句的使用中 這個(gè)函數(shù)特別有用
第三個(gè)技巧 勤用WHERE語(yǔ)句
我們都知道 數(shù)據(jù)庫(kù)查詢效率高不高 是我們?cè)u(píng)價(jià)數(shù)據(jù)庫(kù)設(shè)計(jì)好壞的一個(gè)重要標(biāo)準(zhǔn) 毋庸置疑 在數(shù)據(jù)庫(kù)查詢中勤用Where條件語(yǔ)句 是提高數(shù)據(jù)庫(kù)查詢性能的一個(gè)很重要的手段之一 特別是在設(shè)計(jì)到比較大的表中查詢符合條件的記錄過程中 利用WHERE條件語(yǔ)句加以限制 可以大幅度的提高查詢的響應(yīng)速度
如在圖書館管理系統(tǒng)中 現(xiàn)在有人想查詢 注冊(cè)會(huì)計(jì)師 輔導(dǎo)用書的時(shí)候 雖然不在書的類別或者名稱中輸入 注冊(cè)會(huì)計(jì)師 先查詢出全部的紀(jì)錄 然后再一條條的看是否有相關(guān)的書籍信息 也是可行的 但是 這么處理的話 一方面系統(tǒng)響應(yīng)的速度會(huì)非常的慢 因?yàn)槔锩嬗涗浐芏?另一方面 查詢的結(jié)果看起來也會(huì)非常的頭疼
其實(shí) 我們只需要在查詢中加入一些查詢的參數(shù) 利用Where條件語(yǔ)句加以限制 則即可以提高數(shù)據(jù)庫(kù)響應(yīng)的速度 也可以找出最符合用戶需求的數(shù)據(jù)
另外 我也接觸過一些在Oracle數(shù)據(jù)庫(kù)上設(shè)計(jì)的平臺(tái)型管理軟件 他們可以自定義相關(guān)的報(bào)表 在報(bào)表設(shè)計(jì)中 只要用戶在前臺(tái)設(shè)計(jì)平臺(tái)中 選中 大表查詢 的話 則這個(gè)平臺(tái)會(huì)在生成報(bào)表的時(shí)候 自動(dòng)應(yīng)用Where條件語(yǔ)句 以提高前臺(tái)系統(tǒng)從數(shù)據(jù)庫(kù)查詢數(shù)據(jù)的效率
所以 筆者認(rèn)為在Oracle數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)中 要勤于使用Where語(yǔ)句 利用Where語(yǔ)句來提高數(shù)據(jù)庫(kù)查詢的效率
第四個(gè)技巧 靈活使用COUNT函數(shù)
在查詢處理的時(shí)候 COUNT函數(shù)可以說是我們應(yīng)用的比較多的函數(shù)之一 如我們有時(shí)候需要統(tǒng)計(jì)員工的人數(shù) 統(tǒng)計(jì)圖書的種類數(shù)的時(shí)候 都需要使用到這個(gè)函數(shù) 不過 這個(gè)函數(shù)很多人可能會(huì)用 但是到靈活應(yīng)用的地步 還是有一點(diǎn)差距
下面筆者就COUNT函數(shù)的一些應(yīng)用技巧談?wù)勛约旱男牡?/p>
一是要靈活放置COUNT函數(shù)的位置 因?yàn)槔肅OUNT函數(shù)統(tǒng)計(jì)記錄數(shù)的時(shí)候 是會(huì)考慮空行的記錄的 如在數(shù)據(jù)表中一般有序列字段與其它的有意義字段兩類 有時(shí)候可能序列字段中有內(nèi)容而其它字段中沒有內(nèi)容 則在利用COUNT函數(shù)統(tǒng)計(jì)記錄數(shù)量的時(shí)候 會(huì)把這個(gè)空記錄也考慮進(jìn)去 很明顯 則就會(huì)發(fā)生統(tǒng)計(jì)的錯(cuò)誤 所以 這個(gè)COUNT函數(shù)該放在哪個(gè)位置上 還是比較講究的 一般的話 筆者試建議不要放在序列號(hào)字段上 而要放在一些關(guān)鍵的實(shí)體字段中 如統(tǒng)計(jì)員工人數(shù)的時(shí)候 則就可以放在員工姓名或者編號(hào)上等等
二是靈活跟其它函數(shù)搭配使用 如在上面的例子中 筆者談到有時(shí)候用戶需要知道現(xiàn)在有員工編制的部門與職位有哪一些 我們可以利用DISTINCT函數(shù)來找出具體的部門 但是 我現(xiàn)在只想知道有編制的部門與職位具體有多少 此時(shí) 我們也可以利用COUNT 與DISTINCT函數(shù)結(jié)合應(yīng)用 找出我們所需要的數(shù)據(jù) 在COUNT函數(shù)中 可以指定ALL與DISTINCT選項(xiàng) 默認(rèn)的情況下 是ALL選項(xiàng) 表示統(tǒng)計(jì)所有的行 其中也包括重復(fù)的行 而DISTINCT就表示只統(tǒng)計(jì)不重復(fù)的行 可見 COUNT函數(shù)跟其它函數(shù)搭配使用的話 可以簡(jiǎn)化我們的查詢語(yǔ)句 提高查詢效率
第五個(gè)技巧 只查詢時(shí)必須的字段
有時(shí)候 用戶不同的查詢需求都要用到同一張表 如在員工信息表中包含了很多內(nèi)容 有時(shí)候用戶想要知道正式員工有多少;管理層員工有多少;生產(chǎn)線員工又有哪些;或者想知道合同即將到期的員工有哪些 為此 就遇到一個(gè)問題 因?yàn)檫@些內(nèi)容基本上都是在同一張表中 那是在同一個(gè)視圖中實(shí)現(xiàn) 而是根據(jù)需求不同 設(shè)計(jì)不同的視圖呢?
若單從技術(shù)上考慮 兩這都是可以實(shí)現(xiàn)的 不會(huì)有多大的難度 但是 若是從數(shù)據(jù)庫(kù)性能上考慮在 則還是采用不同的視圖來實(shí)現(xiàn)不同的需求為好
一方面 若從安全方面講 則可以根據(jù)不同的視圖來控制相關(guān)的訪問權(quán)限 可見 把視圖細(xì)化 在權(quán)限控制上則會(huì)更加的靈活
lishixinzhi/Article/program/Oracle/201311/17049
查詢是數(shù)據(jù)的一個(gè)重要操作。用戶發(fā)送查詢請(qǐng)求,經(jīng)編譯軟件變異成二進(jìn)制文件供服務(wù)器查詢,后返回查詢結(jié)果集給用戶,查詢會(huì)產(chǎn)生一個(gè)虛擬表,看到的是表形式顯示的結(jié)果,但結(jié)果并不真正的存儲(chǔ),每次執(zhí)行查詢只是從數(shù)據(jù)表中提取數(shù)據(jù),并按照表的形式顯示出來。
SELECT 列名
FGROM 表名
[WHERE 查詢條件表達(dá)式]
[GROUP BY 分組表達(dá)式]
[HAVING 分組查詢表達(dá)式]
[ORDER BY 排序的列名 [ASC或DESC]]
group by 用于對(duì)查詢的結(jié)果分組統(tǒng)計(jì),通過對(duì)group by后面的名字進(jìn)行分組后輸出結(jié)果。
group by后面還可以跟多列表示 多列分組 ,在多列分組時(shí)放前面的優(yōu)先分組。
group by 列名,列名
having 子句用于限制分組顯示結(jié)果,其只能和group by一起連用。在where中沒有辦法直接使用聚合函數(shù),即sum avg等無法使用,所以引用了having,在having中可以使用這些函數(shù)。
order by 表示排序,后跟列名和排序方式。如果什么都不加默認(rèn)為升序。ASC表示升序,DESC表示降序。
在Oracle中還可以設(shè)置多列排序
order by 列名1 升降,列名2 升降;
前面的為主要排序,后面的為次一級(jí)排序。
注:碰到自己與自己比較的情況下,不能用having,可以創(chuàng)建一個(gè)新列。
注:如果select語(yǔ)句同時(shí)包含group by,having,order by,按group by,having,order by排序
分組和聚合一起使用,目的是為了統(tǒng)計(jì)信息。
where是為了from服務(wù)的,只能跟 真實(shí)的字段 ,用來篩選from子句中指定的操作所產(chǎn)生的行
group by 用來分組where子句的輸出
having 用來從分組的結(jié)果中篩選行
order by用來對(duì)篩選的結(jié)果進(jìn)行排序
(1)分組函數(shù):max min?avg sum count
max表示該列的最大值,min表示該列的最小值,avg表示該列的平均值,sum表示該列的和,count表示該列的行數(shù)。
注:分組函數(shù)(max、min、avg、count、sum)只能出現(xiàn)在選擇列表中having子句、order by子句、不能出現(xiàn)在where子句和group by子句中。
(2)多表查詢
多表查詢是指兩個(gè)和兩個(gè)以上的表或者是視圖的查詢,在實(shí)際應(yīng)用中,當(dāng)查詢單個(gè)表不能滿足需求時(shí),一般使用多表查詢。如:顯示sales部門位置和其員工的姓名,這種情況下需要使用到(dept表和emp表)。
多表查詢的連接一般可以分為:內(nèi)連接、左外連接、右外連接、全連接。
注:在使用多表查詢的時(shí)候每個(gè)表可以設(shè)置別名,如果表指定了別名,那么語(yǔ)句中所有語(yǔ)句必須使用別名,而不能再使用實(shí)際表名。且在寫屬性的時(shí)候如果屬性為其中一個(gè)表特有的屬性則不需要寫別名,如果是兩個(gè)表都有則必須指定是哪一個(gè)表的哪個(gè)屬性格式為:表名.屬性名。
select 列名 from 表1 別名,表2 別名...
注:e是emp的別名,d是dept的別名。
但如果對(duì)表進(jìn)行了操作則需要設(shè)置別名,如:查詢每個(gè)部門中工資高于該部門平均工資的員工人數(shù)。在其中有一個(gè)avg表,這個(gè)表必須設(shè)置別名(提醒:如果僅有一個(gè)被修改的表,則可以不設(shè)置別名,但如果有多個(gè)表則必須設(shè)置別名)。
內(nèi)連接
內(nèi)連接通過使用比較運(yùn)算符來使每個(gè)表的通用列中的值匹配來組成一個(gè)新表,即:把兩個(gè)表中間共有的那些行拿出來進(jìn)行連接,如果某些行不是兩個(gè)表共有的,則不進(jìn)行連接。
select
from 表1
inner join 表2
on 匹配條件
或
select
from 表1 表2
where匹配條件
左外連接
左外連接與內(nèi)連接的區(qū)別是:設(shè)置左外連接的時(shí)候設(shè)置了主表和附表,主表在前,附表在后。內(nèi)連接是將兩個(gè)表匹配的地方輸出出來,而左外連接則是主表全寫,附表一一對(duì)應(yīng),附表有則加上,沒有不寫。
select
from 表1
left join 表2
on 匹配條件
右外連接
右外連接和左外連接基本相同只是右外連接的主表寫在后邊。
select
from 表1
right join 表2
on 匹配條件
全連接
全連接是在等值連接的基礎(chǔ)上將左表和右表的未匹配數(shù)據(jù)都加上,使用的關(guān)鍵字為full outer join或者full join。
select
from 表1
full join 表2
on 匹配條件
自連接
還有一種特殊情況即自連接,在Oracle中一個(gè)表無法與自己進(jìn)行比較,所以當(dāng)需要自己表的兩個(gè)信息做比較的時(shí)候也需要使用連接來連接,即同一張表的連結(jié)查詢。
(3)子查詢
子查詢是指嵌套在其他sql語(yǔ)句中的select語(yǔ)句,也叫嵌套查詢。sql語(yǔ)句執(zhí)行順序?yàn)閺挠业阶髨?zhí)行,所以在執(zhí)行查詢時(shí)會(huì)先執(zhí)行左側(cè)的子查詢后進(jìn)行主查詢。
子查詢分為單行子查詢和多行子查詢,單行子查詢是指返回一行數(shù)據(jù)的子查詢語(yǔ)句,多行子查詢是指返回多行數(shù)據(jù)的查詢語(yǔ)句。子查詢還可以分為多列子查詢、多行子查詢、多列多行子查詢。
在進(jìn)行子查詢時(shí)如果內(nèi)部查詢不返回任何記錄,則外部條件中字段DEPTNO與NULL比較永遠(yuǎn)為假,也就是說外部查詢不返回任何結(jié)果。
總結(jié)為:
單行子查詢是指子查詢只返回單列、單行數(shù)據(jù)
多行子查詢是指返回單列多行數(shù)據(jù),都是針對(duì)單列而言的
多列子查詢則是指查詢返回多個(gè)列數(shù)據(jù)的子查詢語(yǔ)句
單行子查詢
where deptno = (單行數(shù)值)
多行子查詢
where deptno in ( 多行數(shù)值 )
多列子查詢:
where (job,deptno)=(select job,deptno from emp where ename='KING')
多列多行子查詢
where (job,deptno) in (select job,deptno from emp where ename='KING')
單行子查詢
在單行子查詢的外部查詢中可以使用=、、、=、=、等比較運(yùn)算符。
內(nèi)部查詢返回的結(jié)果必須與外部查詢條件中字段(DEPTNO)相匹配。
多行子查詢
在WHERE子句中使用多行子查詢時(shí),可以使用多行比較運(yùn)算符(IN,ALL,ANY)。
IN:等于任何一個(gè)。
ALL:和子查詢返回的所有值比較。例如:salALL(1,2,3)等價(jià)于sal3,即大于所有。
ANY:和子查詢返回的任意一個(gè)值比較。例如:salANY(1,2,3)等價(jià)于sal1,即大于任意一個(gè)就可以。
注:ANY運(yùn)算符必須與單行比較運(yùn)算符結(jié)合使用,并且返回行只要匹配子查詢的任何一個(gè)結(jié)果即可。
多列子查詢
多列子查詢和多行子查詢相同,只是使用多列子查詢的時(shí)候會(huì)有多列進(jìn)行匹配。
(4)集合運(yùn)算
為了合并多個(gè)select語(yǔ)句的結(jié)果,可以使用集合操作符號(hào)union,union all,intersect,minus。
union:該操作符用于取得兩個(gè)結(jié)果集的并集。當(dāng)使用該操作符時(shí),會(huì)自動(dòng)去掉結(jié)果集中重復(fù)行
union all:該操作與union相似,但是它不會(huì)取消重復(fù)行,而且不會(huì)排序
intersect:使用該操作符用于取得兩個(gè)結(jié)果集的交集
minus:使用該操作符用于取得兩個(gè)結(jié)果集的差集,它只會(huì)顯示存在第一個(gè)集合中,而不存在第二個(gè)集合中的數(shù)據(jù)
總結(jié)為集合運(yùn)算就是將兩個(gè)或者多個(gè)結(jié)果集組合成一個(gè)結(jié)果集。
intersect ?交集 返回兩個(gè)查詢共有的記錄
union all ?并集 返回各個(gè)查詢的所有記錄,包括重復(fù)的記錄
union ? ? ?交集 返回各個(gè)查詢的所有記錄,不包括重復(fù)的記錄
MINUS ? 補(bǔ)集 返回第一個(gè)查詢檢查出的記錄減去第二個(gè)查詢檢索出來的記錄之后剩余的記錄
注意:當(dāng)使用集合操作的時(shí)候,查詢所返回的列數(shù)以及列的類型必須匹配,列名可以不同。
(1)Distinct關(guān)鍵字
在Oracle中,可能出現(xiàn)若干相同的情況,那么可以用Distinct消除重復(fù)行
(2)多表查詢與單行子查詢可以實(shí)現(xiàn)相同的功能
查詢出銷售部(sales)下面的員工姓名,工作,工資
(3)顯示高于自己部門平均工資的員工信息
分析:
1.找到所有部門的平均工資
select deptno,avg(sal) from emp group by deptno;
2.找到所有人的工資信息
select ename,sal,deptno from emp;
3.把兩個(gè)結(jié)果集使用多表連接組合組合起來
select * from emp,(select deptno,avg(sal) avgsal from emp group by deptno) damao where emp.deptno=damao.deptno;
4.去掉低于平均工資的那些數(shù)據(jù)即可:
select * from emp,(select deptno,avg(sal) avgsal from emp group by deptno) damao where emp.deptno=damao.deptno and salavgsal;
(4)emp表介紹
字段? ? ? ? ? ? ? 類型? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 描述
empno ? ? ? ? ?NUMBER(4) ? ? ? ? ? ? ? ? 表示雇員編號(hào),是唯一編號(hào)
ename ? ? ? ? ?VAECHAR2(10) ? ? ? ? ? 表示雇員姓名
job ? ? ? ? ? ? ? ?VARCHAR2(9) ? ? ? ? ? ? 表示工作職位
mgr ? ? ? ? ? ? ?NUMBER(4) ? ? ? ? ? ? ? ? 表示一個(gè)雇員的領(lǐng)導(dǎo)編號(hào)
hiredate ? ? ? DATE ? ? ? ? ? ? ? ? ? ? ? ? ? ?表示雇傭日期
sal ? ? ? ? ? ? ? NUMBER(7,2) ? ? ? ? ? ? ? 表示月薪,工資
comm ? ? ? ? ?NUMBER(7,2) ? ? ? ? ? ? ? 表示獎(jiǎng)金,或者稱為傭金
deptno ? ? ? ? NUMBER(2) ? ? ? ? ? ? ? ? 部門編號(hào)