簡(jiǎn)單查詢(xún)

一刁俭、結(jié)構(gòu)化查詢(xún)語(yǔ)言

結(jié)構(gòu)化查詢(xún)語(yǔ)言簡(jiǎn)介

結(jié)構(gòu)化查詢(xún)語(yǔ)言(Structured Query Language)簡(jiǎn)稱(chēng)SQL, 是操作和檢索關(guān)系型數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言远剩,20世紀(jì)70年代由IBM公司開(kāi)發(fā),目前應(yīng)用于各種關(guān)系型數(shù)據(jù)庫(kù)。
結(jié)構(gòu)化查詢(xún)語(yǔ)言分類(lèi)

結(jié)構(gòu)化查詢(xún)語(yǔ)言可分為5類(lèi):

? 數(shù)據(jù)查詢(xún)語(yǔ)言(DQL:Data Query Language):語(yǔ)句主要包括SELECT,用于從表中檢索數(shù)據(jù)。
? 數(shù)據(jù)操作語(yǔ)言(DML:Data Manipulation Language):語(yǔ)句主要包括INSERT讨韭,UPDATE和DELETE,用于添加,修改和刪除表中的行數(shù)據(jù)透硝。
? 事務(wù)處理語(yǔ)言(TPL:Transaction Process Language): 語(yǔ)句主要包括COMMIT和ROLLBACK吉嚣,用于提交和回滾。
? 數(shù)據(jù)控制語(yǔ)言(DCL:Data Control Language):語(yǔ)句主要包括GRANT和REVOKE蹬铺,用于進(jìn)行授權(quán)和收回權(quán)限尝哆。
? 數(shù)據(jù)定義語(yǔ)言(DDL:Data Definition Language):語(yǔ)句主要包括CREATE、DROP甜攀、ALTER秋泄,用于定義、銷(xiāo)毀规阀、修改數(shù)據(jù)庫(kù)對(duì)象恒序。

二、基本SELECT語(yǔ)句

基本SELECT語(yǔ)句語(yǔ)法
SELECT [DISTINCT]{*|column|expression [alias],...}
FROM table;

SELECT 子句 表示所需檢索的數(shù)據(jù)列谁撼。
FROM 子句 表示檢索的數(shù)據(jù)來(lái)自哪個(gè)表歧胁。

三、SQL概念和規(guī)則

SQL語(yǔ)句相關(guān)概念

– 關(guān)鍵字(Keyword):SQL語(yǔ)言保留的字符串厉碟,例如喊巍,SELECT和FROM都是關(guān)鍵字。
– 語(yǔ)句(statement):一條完整的SQL命令箍鼓。例如崭参,SELECT * FROM dept 是一條語(yǔ)句。
– 子句(clause):部分的SQL語(yǔ)句款咖,通常是由關(guān)鍵字加上其它語(yǔ)法元素構(gòu)成何暮,例如,SELECT * 是一個(gè)子句铐殃,F(xiàn)ROM table也是一個(gè)子句海洼。

SQL語(yǔ)句的書(shū)寫(xiě)規(guī)則

– 不區(qū)分大小寫(xiě),也就是說(shuō)SELECT富腊,select坏逢,Select,執(zhí)行時(shí)效果是一樣的蟹肘。
– 可以單行來(lái)書(shū)寫(xiě)词疼,也可以書(shū)寫(xiě)多行俯树,建議分多行書(shū)寫(xiě)帘腹,增強(qiáng)代碼可讀性,通常以子句為單位進(jìn)行分行许饿。
– 關(guān)鍵字不可以縮寫(xiě)阳欲、分開(kāi)以及跨行書(shū)寫(xiě),如SELECT不可以寫(xiě)成SEL或SELE CT等形式。
– 關(guān)鍵字最好使用大寫(xiě)球化,其它語(yǔ)法元素(如列名秽晚、表名等)小寫(xiě)。
– Tab和縮進(jìn)的使用可以提高程序的可讀性筒愚。

四赴蝇、常用查詢(xún)語(yǔ)句

  • 選擇列

選擇所有列

select * 
from emp;

選擇指定列

select ename,mgr
from emp;
  • 列別名
SELECT ename AS name, sal salary
FROM emp;
SELECT ename "Name", 
sal*12 "Annual Salary" 
FROM emp;
  • 消除重復(fù)行
SELECT DISTINCT deptno
FROM emp;
  • WHERE子句
SELECT ename, job, deptno
FROM emp
WHERE deptno=20;
  • 特殊比較運(yùn)算符

BETWEEN...AND...:判斷要比較的值是否在某個(gè)范圍內(nèi)。
IN( 集合列表):判斷要比較的值是否和集合列表中的任何一個(gè)值相等巢掺。LIKE:判斷要比較的值是否滿(mǎn)足部分匹配句伶。
IS NULL:判斷要比較的值是否為空值NULL 。

使用LIKE運(yùn)算符判斷要比較的值是否滿(mǎn)足部分匹配陆淀,也叫模糊查詢(xún)考余。
模糊查詢(xún)中兩個(gè)通配符:
"%"代表零或任意更多的字符
"_"代表一個(gè)字符

  • 邏輯運(yùn)算符

AND:邏輯與,用來(lái)連接多個(gè)條件表達(dá)式轧苫。如果每個(gè)條件表達(dá)式的結(jié)果都為T(mén)RUE楚堤,整個(gè)表達(dá)式的結(jié)果才為T(mén)RUE。
OR:邏輯或含懊,用來(lái)連接多個(gè)條件表達(dá)式身冬。只要有1個(gè)條件表達(dá)式的結(jié)果為T(mén)RUE,整個(gè)表達(dá)式的結(jié)果就為T(mén)RUE岔乔。
NOT:邏輯非吏恭,用來(lái)對(duì)條件表達(dá)式取反。TRUE取反為FALSE重罪,F(xiàn)ALSE取反為T(mén)RUE樱哼。

  • 運(yùn)算符的優(yōu)先級(jí)
    運(yùn)算符的優(yōu)先級(jí)
  • ORDER BY子句

使用ORDER BY子句能對(duì)查詢(xún)結(jié)果集進(jìn)行排序,語(yǔ)法結(jié)構(gòu)如下:

SELECT [DISTINCT] { * | 列名 |表達(dá)式 [別名][,...]}
FROM 表名
[WHERE 條件]
[ORDER BY {列名|表達(dá)式|列別名|列序號(hào)} [ASC|DESC],…];

其中:
– 可以按照列名、表達(dá)式剿配、列別名搅幅、結(jié)果集的列序號(hào)排序
– ASC: 升序,默認(rèn)值 DESC: 降序
– ORDER BY 子句必須寫(xiě)在SELECT語(yǔ)句的最后

  • 限制記錄的行數(shù)

使用select語(yǔ)句時(shí)呼胚,經(jīng)常要返回前幾條或者中間某幾行記錄茄唐,可以使用關(guān)鍵字limit。語(yǔ)法格式如下:

select 字段列表
from 數(shù)據(jù)源
limit [start,]length;

說(shuō)明:
1.limit接受一個(gè)或兩個(gè)整數(shù)參數(shù)蝇更。start表示從第幾行記錄開(kāi)始輸出沪编,length表示輸出的記錄行數(shù)。
2.表中第一行記錄的start值為0(不是 1)年扩。

五蚁廓、課后作業(yè)

練習(xí)11的2、3題
2.查詢(xún)工作在CHICAGO并且入職日期最早的前2名員工姓名厨幻,入職日期相嵌。
3.按照每頁(yè)顯示5條記錄腿时,分別查詢(xún)第1頁(yè),第2頁(yè)饭宾,第3頁(yè)信息批糟,要求顯示員工姓名、入職日期看铆、部門(mén)名稱(chēng)徽鼎。

SELECT ename,hiredate
FROM emp
ORDER BY HIREDATE
LIMIT 0,2;

SELECT ename,hiredate,dname
FROM emp INNER JOIN dept ON  dept.DEPTNO = emp.DEPTNO
LIMIT 0,5;
SELECT ename,hiredate,dname
FROM emp INNER JOIN dept ON  dept.DEPTNO = emp.DEPTNO
LIMIT 5,5;
SELECT ename,hiredate,dname
FROM emp INNER JOIN dept ON  dept.DEPTNO = emp.DEPTNO
LIMIT 10,5;

課后作業(yè)
1.查詢(xún)?nèi)肼殨r(shí)間在1982-7-9之后,并且不從事SALESMAN工作的員工姓名弹惦、入職時(shí)間纬傲、職位。
2.查詢(xún)員工姓名的第三個(gè)字母是a的員工姓名肤频。
3.查詢(xún)除了10叹括、20號(hào)部門(mén)以外的員工姓名、部門(mén)編號(hào)宵荒。
4.查詢(xún)部門(mén)號(hào)為30號(hào)員工的信息汁雷,先按工資降序排序,再按姓名升序排序报咳。
5.查詢(xún)沒(méi)有上級(jí)的員工(經(jīng)理號(hào)為空)的員工姓名侠讯。
6.查詢(xún)工資大于等于4500并且部門(mén)為10或者20的員工的姓名\工資、部門(mén)編號(hào)暑刃。

SELECT ename,hiredate,job
FROM emp
WHERE HIREDATE > '1982-07-09';

SELECT ename
FROM emp
WHERE ENAME LIKE '__a%';

SELECT ename,deptno
FROM emp
WHERE DEPTNO NOT IN (10,20);

SELECT ename,deptno
FROM emp
WHERE DEPTNO = '30'
ORDER BY sal DESC;

SELECT ename,deptno
FROM emp
WHERE DEPTNO = '30'
ORDER BY ename;

SELECT ename
FROM emp
WHERE mgr is NULL;

SELECT ename,sal,deptno
from emp
WHERE DEPTNO IN (10,20) AND SAL >= 4500;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末厢漩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子岩臣,更是在濱河造成了極大的恐慌溜嗜,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件架谎,死亡現(xiàn)場(chǎng)離奇詭異炸宵,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)谷扣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)土全,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人会涎,你說(shuō)我怎么就攤上這事裹匙。” “怎么了末秃?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵概页,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蛔溃,道長(zhǎng)绰沥,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任贺待,我火速辦了婚禮徽曲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘麸塞。我一直安慰自己秃臣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布哪工。 她就那樣靜靜地躺著奥此,像睡著了一般。 火紅的嫁衣襯著肌膚如雪雁比。 梳的紋絲不亂的頭發(fā)上稚虎,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音偎捎,去河邊找鬼蠢终。 笑死,一個(gè)胖子當(dāng)著我的面吹牛茴她,可吹牛的內(nèi)容都是我干的寻拂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼丈牢,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼祭钉!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起己沛,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤慌核,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后申尼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體遂铡,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年晶姊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扒接。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡们衙,死狀恐怖钾怔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蒙挑,我是刑警寧澤宗侦,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站忆蚀,受9級(jí)特大地震影響矾利,放射性物質(zhì)發(fā)生泄漏姑裂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一男旗、第九天 我趴在偏房一處隱蔽的房頂上張望舶斧。 院中可真熱鬧,春花似錦察皇、人聲如沸茴厉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)矾缓。三九已至,卻和暖如春稻爬,著一層夾襖步出監(jiān)牢的瞬間嗜闻,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工桅锄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泞辐,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓竞滓,卻偏偏與公主長(zhǎng)得像咐吼,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子商佑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

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