sql數(shù)據(jù)庫(kù)學(xué)習(xí) 關(guān)于查詢和篩選(二)

1.在數(shù)據(jù)庫(kù)語(yǔ)言中,可以采用模糊查詢的方式來(lái)從表中選取想要的數(shù)據(jù)集合

模糊查詢主要是用于處理字符串類(lèi)型的值,其中運(yùn)算符包括:like %_[] ^。

like表示查詢方式為模糊查詢

%表示在查詢的字符串前面或者后面有n個(gè)任意的字符,例如 查找學(xué)生表中含有姓張的 同學(xué)名單時(shí),可以采用下列語(yǔ)句

select*from studentinfo

where Name like '張%'

%可以設(shè)置在字符串后面 也可以設(shè)置在前面,亦或二者均有,表示含有中間字段的數(shù)據(jù)集合。

下劃線_代表一個(gè)模糊的字符,即若查詢名單中名字為兩個(gè)字的張姓同學(xué),可用下列語(yǔ)句

select*from studentinfo

where Name like '張_'

而[]則代表一個(gè)區(qū)段,例如查詢電話號(hào)碼為13開(kāi)頭或者15開(kāi)頭的學(xué)生信息可以用

select*from studentinfo

where phonenumber like '1[3-5]%'? --注意添加%

而^表示非的意思 即

select*from studentinfo

where phonenumber like '1[^3-5]%' --表示查詢手機(jī)號(hào)非13? 15開(kāi)頭的學(xué)生信息

2,關(guān)于查詢中對(duì)于含空值(null)數(shù)據(jù)操作

對(duì)于null的操作,使用is null或者is not null,與其他計(jì)算時(shí)返回null

舉例:

select*from studentinfo

where phonenumber is null--查詢未填手機(jī)電話號(hào)的學(xué)生名單信息

select*from studentinfo

where phonenumber is not null--查詢所有已填手機(jī)電話號(hào)的學(xué)生名單信息

對(duì)于某些字符運(yùn)算的優(yōu)先級(jí)順序:按照小括號(hào),not,比較運(yùn)算符,邏輯運(yùn)算符的順序來(lái)排

3.連接查詢:當(dāng)查詢所需結(jié)果來(lái)自多張表時(shí),需要采用連接查詢的方式

查詢學(xué)生姓名以及所在班級(jí)名稱(chēng),這兩個(gè)信息來(lái)自兩個(gè)表

學(xué)生表:studentinfo和班級(jí)表classinfo

兩個(gè)表的關(guān)系:學(xué)生表中一列cid是引用的班級(jí)表中的cid,故采用連接查詢的關(guān)鍵是找準(zhǔn)那些表,這些表的關(guān)系

示例如下:


結(jié)果

若只想要篩選出學(xué)生姓名和班級(jí)名稱(chēng)的信息,則可以這么寫(xiě):


結(jié)果

在上述使用中出現(xiàn)了,inner join的語(yǔ)句,這叫內(nèi)連接這表示用來(lái)匹配兩個(gè)表的關(guān)系

同樣存在LEFT JOIN 左連接,LEFT JOIN 關(guān)鍵字會(huì)從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒(méi)有匹配的行

RIGHT JOIN右連接 關(guān)鍵字會(huì)右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中沒(méi)有匹配的行。

FULL JION 全連接 只要其中某個(gè)表存在匹配,F(xiàn)ULL JOIN 關(guān)鍵字就會(huì)返回行。

4.多表連接

考慮查詢學(xué)生姓名,考試科目,以及分?jǐn)?shù),這三個(gè)信息來(lái)自三張不同的表

假設(shè)這三張表分別叫A,B,C只需要找到 其中A和B之間的關(guān)系以及B和C的關(guān)系即達(dá)到目的

語(yǔ)句如下:

select*from scoreinfo as score

inner join studentinfo as stu on score.stuid=stu.sid

inner join sbujectinfo as sub on score.stuid=sub.sid

這樣三個(gè)表的連接關(guān)系確立

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容