Oracle之-查詢(-)

最近學(xué)習(xí)Oracle數(shù)據(jù)庫。把學(xué)到的東西做一個(gè)總結(jié)。
本文主要講解一下幾個(gè)方面:
1.OracleXE數(shù)據(jù)庫安裝注意事項(xiàng)
2.Oracke 數(shù)據(jù)庫查詢
數(shù)據(jù)庫查詢這章主要介紹一下幾個(gè)方面:
1.全表查詢2.條件查詢3.特殊謂詞4.排序5.函數(shù)(包括一些常用的內(nèi)置函數(shù)和組函數(shù))

我使用的Oracle 是OracleXE,相對(duì)來說是比較輕量級(jí)的初烘。
OracleXE的安裝需要主要一下幾點(diǎn):
1.Oracle數(shù)據(jù)庫的安裝
注意:oracle安裝路徑需要不能含有中文或者空格香椎。
注意:oracle system用戶 密碼為123456
2.OracleXE數(shù)據(jù)庫的卸載
從新執(zhí)行安裝程序,選擇卸載項(xiàng)
3.激活測(cè)試賬號(hào)
進(jìn)入命令行窗口執(zhí)行
第一步:輸入sqlplus
輸入用戶名和密碼
第二步:鍵入 alter user hr account unlock;
如此既可以將測(cè)試賬號(hào)改為hr
密碼也為hr

Oracke 數(shù)據(jù)庫查詢:
sql語法不區(qū)分大小寫随静。
1.全表查詢
select * from 表名
select employee_id,frist_name,last_name,email....
from 表名
注意:* 進(jìn)行又有列的查詢,運(yùn)行效率偏低吗讶。可讀性差
2.查詢的定列的內(nèi)容
select 列名1燎猛,列名2,...
from 表名
3.對(duì)列的內(nèi)容進(jìn)行運(yùn)算 (+-
/)

select last_name,first_name,salary*12
from employees;

4.列起別名 alias
select 列名 [as] 別名照皆,列名 [as] 別名
from employees;
注意as關(guān)鍵字可以省略
多列內(nèi)容的連接
||運(yùn)算符 可以完成2個(gè)列 或者 多個(gè)列的內(nèi)容拼接

多列內(nèi)容的連接
||運(yùn)算符 可以完成2個(gè)列 或者 多個(gè)列的內(nèi)容拼接
select first_name||last_name as name , salary
from employees;

2.條件查詢
a.比較查詢 > < = != >= <=

select * from employees where first_name = 'Lex'

注意 字符串應(yīng)用 ' '
b.邏輯運(yùn)算 and or not

select * from employees where first_name = 'Lex' and salary = 17000
select * from employees where first_name = 'steven' or salary = 17000

c.特殊謂詞
eg:查詢工資為6000 或者 工資為9000 或者 工資為24000.
一般的寫法為重绷;

select * from employees where salary = 17000 or salary = 9000 or salary = 6000

in或者not in
in 表達(dá)或者的關(guān)系

select * from employees where salary in (6000,9000,24000)
select * from employees where salary not in (6000,9000,24000)

eg:查詢工資為6000 至 12000 這個(gè)范圍內(nèi)的員工 (包含 6000,12000)
可以寫為:

select * from employees where salary >=6000 and salary<=12000

between .... and 在一個(gè)范圍 或者 區(qū)間中 (閉區(qū)間)
not between ..... and

select * from employees where salary between 6000 and 12000
select * from employees where salary not between 6000 and 12000

查詢某一些列的內(nèi)容為null 不能應(yīng)用 = null 判斷
is null is not null

select * from employees where commission_pct is not null

like 模糊查詢
eg:查詢所有姓李的老師

select * from t_teacher where name like'李%'

eg:查詢所有姓李的老師,且名字只有兩個(gè)字

select * from t_teacher where name like'李%_'

d.排序子句(order by)

select first_name,salary from employees order by salary 

默認(rèn)升序asc
降序查詢:

select first_name,salary from employees order by salary desc

注意:
order by 字句必須書寫在sql語句的最后
eg:

select first_name,salary from employees where salary>6000 order by salary desc

多列排序
eg:

select first_name,salary from employees where salary>6000 order by salary desc,first_name desc

先以salary排序膜毁,如果salary相同昭卓,在以first_name 排序(按字母逐個(gè)排序)。

e:函數(shù)
1.內(nèi)置函數(shù)
sysdate 獲取當(dāng)前系統(tǒng)時(shí)間
eg:

select sysdate from dual

oracle中的虛表瘟滨,啞表 dual
獲得當(dāng)前時(shí)間 select sysdate from dual;

to_char(日期,’日期格式’)
作用:把一個(gè)日期類型候醒,轉(zhuǎn)換成一個(gè)字符串

select to_char(sysdate,'mm') from dual

yyyy:年份
mm:月份
dd:月份中的天
day:星期
hh:小時(shí)
mi:分鐘
ss:秒
eg:查詢4月份入職的員工

select *from employees where to_char(hire_date,'mm') = '04'

eg:查詢3月18日入職的員工

select *from employees where to_char(hire_date,'mm-dd') = to_char(sysdate,'mm-dd')

to_date(‘字符串’,‘日期格式’)
把字符串轉(zhuǎn)換成日期
eg:

select to_date('2016-03-18','yyyy-mm-dd') from dual

to_date函數(shù) 主要應(yīng)用在數(shù)據(jù)的插入過程杂瘸。
2.組函數(shù)
針對(duì)于一組數(shù)據(jù)的操作倒淫。默認(rèn)在不分組的情況下,會(huì)把一張表的數(shù)據(jù)劃分成一個(gè)組败玉。
a. 取最大值 max()
查詢最高的工資

select max(salary) from employees

b.取最小值 min()
查詢最低的工資

select min(salary) from employees

c.取平均值 avg()

select avg(salary) from employees

d.取數(shù)據(jù)的和 sum()
查詢員工工資之和

select sum(salary) from employees

e.取條數(shù) count()
查詢?nèi)淼臈l數(shù)

select count(*) from employees

運(yùn)行結(jié)果:統(tǒng)計(jì)非null的條數(shù)敌土。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市运翼,隨后出現(xiàn)的幾起案子返干,更是在濱河造成了極大的恐慌,老刑警劉巖血淌,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件犬金,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡六剥,警方通過查閱死者的電腦和手機(jī)晚顷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疗疟,“玉大人该默,你說我怎么就攤上這事〔咄” “怎么了栓袖?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵匣摘,是天一觀的道長。 經(jīng)常有香客問我裹刮,道長音榜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任捧弃,我火速辦了婚禮赠叼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘违霞。我一直安慰自己嘴办,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布买鸽。 她就那樣靜靜地躺著涧郊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪眼五。 梳的紋絲不亂的頭發(fā)上妆艘,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音看幼,去河邊找鬼批旺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛桌吃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播苞轿,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼茅诱,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了搬卒?” 一聲冷哼從身側(cè)響起瑟俭,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎契邀,沒想到半個(gè)月后摆寄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坯门,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年微饥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片古戴。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡欠橘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出现恼,到底是詐尸還是另有隱情肃续,我是刑警寧澤黍檩,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站始锚,受9級(jí)特大地震影響刽酱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瞧捌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一棵里、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧察郁,春花似錦衍慎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至麦轰,卻和暖如春乔夯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背款侵。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工末荐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人新锈。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓甲脏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親妹笆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子块请,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容