日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql 查询 带数据库实例_数据库查询实例(包含所有where条件例子)

發(fā)布時(shí)間:2024/8/23 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 查询 带数据库实例_数据库查询实例(包含所有where条件例子) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

查詢指定列

[例1] 查詢?nèi)w學(xué)生的學(xué)號(hào)與姓名。

SELECT Sno,Sname

FROM Student;

[例2] 查詢?nèi)w學(xué)生的姓名、學(xué)號(hào)、所在系。

SELECT Sname,Sno,Sdept

FROM Student;

[例3] 查詢?nèi)w學(xué)生的詳細(xì)記錄。

SELECT Sno,Sname,Ssex,Sage,Sdept

FROM Student;

SELECT *

FROM Student;

[例4] 查全體學(xué)生的姓名及其出生年份。

SELECT Sname,2004-Sage /*假定當(dāng)年的年份為2004年*/ FROM Student;

[例5] 查詢?nèi)w學(xué)生的姓名、出生年份和所有系,要求用小 寫(xiě)字母表示所有系名

SELECT Sname,?Year of Birth: ‘,2004-Sage,

ISLOWER(Sdept)

FROM Student;

[例6] 查詢選修了課程的學(xué)生學(xué)號(hào)。

SELECT Sno FROM SC;

等價(jià)于:

SELECT ALL Sno FROM SC;

[例7] 查詢計(jì)算機(jī)科學(xué)系全體學(xué)生的名單。

SELECT Sname www.111cn.net

FROM Student

WHERE Sdept=?CS?;

[例8] 查詢所有年齡在20歲以下的學(xué)生姓名及其年齡。 SELECT Sname,Sage

FROM Student

WHERE Sage < 20;

[例9] 查詢考試成績(jī)有不及格的學(xué)生的學(xué)號(hào)。

SELECT DISTINCT Sno

FROM SC

WHERE Grade<60;

[例10] 查詢年齡在20~23歲(包括20歲和23歲)之間的學(xué)生的 姓名、系別和年齡

SELECT Sname,Sdept,Sage

FROM Student

WHERE Sage BETWEEN 20 AND 23;

[例11] 查詢年齡不在20~23歲之間的學(xué)生姓名、系別和年齡

SELECT Sname,Sdept,Sage

FROM Student

WHERE Sage NOT BETWEEN 20 AND 23;

[例12]查詢信息系(IS)、數(shù)學(xué)系(MA)和計(jì)算機(jī)科學(xué)系(CS)學(xué)生的姓名和 性別。

SELECT Sname,Ssex

FROM Student

WHERE Sdept IN ( ‘IS’,’MA’,’CS’ );

[例13]查詢既不是信息系、數(shù)學(xué)系,也不是計(jì)算機(jī)科學(xué)系的學(xué)生的姓名和性別。 SELECT Sname,Ssex

FROM Student

WHERE Sdept NOT IN ( ‘IS’,’MA’,’CS’ );

[例14] 查詢學(xué)號(hào)為200215121的學(xué)生的詳細(xì)情況。

SELECT *

FROM Student

WHERE Sno LIKE ?200215121′;

等價(jià)于:

SELECT *

FROM Student

WHERE Sno = ‘ 200215121 ‘;

[例15] 查詢所有姓劉學(xué)生的姓名、學(xué)號(hào)和性別。

SELECT Sname,Sno,Ssex

FROM Student

WHERE Sname LIKE ?劉%?;

[例16] 查詢姓”歐陽(yáng)”且全名為三個(gè)漢字的學(xué)生的姓名。

SELECT Sname

FROM Student

WHERE Sname LIKE ‘歐陽(yáng)__’;

[例17] 查詢名字中第2個(gè)字為”陽(yáng)”字的學(xué)生的姓名和學(xué)號(hào)。

SELECT Sname,Sno

FROM Student

WHERE Sname LIKE ?__陽(yáng)%?;

[例18] 查詢所有不姓劉的學(xué)生姓名。

SELECT Sname,Sno,Ssex

FROM Student

WHERE Sname NOT LIKE ‘劉%’;

[例19] 查詢DB_Design課程的課程號(hào)和學(xué)分。

SELECT Cno,Ccredit

FROM Course

WHERE Cname LIKE ‘DB_Design’ ESCAPE ‘?;

[例20] 查詢以”DB_”開(kāi)頭,且倒數(shù)第3個(gè)字符為 i的課程的詳細(xì)情況。 SELECT *

FROM Course

WHERE Cname LIKE ‘DB_%i_ _’ ESCAPE ‘ ?;

[例21] 某些學(xué)生選修課程后沒(méi)有參加考試,所以有選課記錄,但沒(méi) 有考試成績(jī)。查詢?nèi)鄙俪煽?jī)的學(xué)生的學(xué)號(hào)和相應(yīng)的課程號(hào)。 SELECT Sno,Cno

FROM SC

WHERE Grade IS NULL

[例22] 查所有有成績(jī)的學(xué)生學(xué)號(hào)和課程號(hào)。

SELECT Sno,Cno

FROM SC

WHERE Grade IS NOT NULL;

[例23] 查詢計(jì)算機(jī)系年齡在20歲以下的學(xué)生姓名。

SELECT Sname

FROM Student

WHERE Sdept= ‘CS’ AND Sage<20;

改寫(xiě)[例12]

[例12] 查詢信息系(IS)、數(shù)學(xué)系(MA)和計(jì)算機(jī)科學(xué)系 (CS)學(xué)生的姓名和性別。

SELECT Sname,Ssex

FROM Student

WHERE Sdept IN ( ‘IS’,’MA’,’CS’ )

可改寫(xiě)為:

SELECT Sname,Ssex

FROM Student

WHERE Sdept= ‘ IS ‘ OR Sdept= ‘ MA’ OR Sdept= ‘ CS ‘;

[例24] 查詢選修了3號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢結(jié)果按分 數(shù)降序排列。

SELECT Sno,Grade

FROM SC

WHERE Cno= ‘ 3 ‘

ORDER BY Grade DESC;

[例25] 查詢?nèi)w學(xué)生情況,查詢結(jié)果按所在系的系號(hào)升序排 列,同一系中的學(xué)生按年齡降序排列。

SELECT *

FROM Student

ORDER BY Sdept,Sage DESC;

[例26] 查詢學(xué)生總?cè)藬?shù)。

SELECT COUNT(*)

FROM Student;

[例27] 查詢選修了課程的學(xué)生人數(shù)。

SELECT COUNT(DISTINCT Sno)

FROM SC;

[例28] 計(jì)算1號(hào)課程的學(xué)生平均成績(jī)。

SELECT AVG(Grade)

FROM SC

WHERE Cno= ‘ 1 ‘;

[例29] 查詢選修1號(hào)課程的學(xué)生最高分?jǐn)?shù)。

SELECT MAX(Grade)

FROM SC

WHER Cno= ? 1 ?;

[例30]查詢學(xué)生200215012選修課程的總學(xué)分?jǐn)?shù)。

SELECT SUM(Ccredit)

FROM SC, Course

WHER Sno=’200215012′ AND SC.Cno=Course.Cno;

[例31] 求各個(gè)課程號(hào)及相應(yīng)的選課人數(shù)。

SELECT Cno,COUNT(Sno)

FROM SC

GROUP BY Cno;

[例32] 查詢選修了3門(mén)以上課程的學(xué)生學(xué)號(hào)。

SELECT Sno

FROM SC

GROUP BY Sno

HAVING COUNT(*) >3;

[例33] 查詢每個(gè)學(xué)生及其選修課程的情況

SELECT Student.*,SC.*

FROM Student,SC

WHERE Student.Sno = SC.Sno;

[例34] 對(duì)[例33]用自然連接完成。

SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM Student,SC

WHERE Student.Sno = SC.Sno;

[例35]查詢每一門(mén)課的間接先修課(即先修課的先修課)

SELECT FIRST.Cno,SECOND.Cpno

FROM Course FIRST,Course SECOND

WHERE FIRST.Cpno = SECOND.Cno;

[例 36] 改寫(xiě)[例33]

SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM Student LEFT OUT JOIN SC ON (Student.Sno=SC.Sno);

[例37]查詢選修2號(hào)課程且成績(jī)?cè)?0分以上的所有學(xué)生

SELECT Student.Sno, Sname

FROM Student, SC

WHERE Student.Sno = SC.Sno AND

/* 連接謂詞*/

SC.Cno= ?2? AND SC.Grade > 90; /* 其他限定條件 */

[例38]查詢每個(gè)學(xué)生的學(xué)號(hào)、姓名、選修的課程名及成績(jī)

SELECT Student.Sno,Sname,Cname,Grade

FROM Student,SC,Course /*多表連接*/

WHERE Student.Sno = SC.Sno

and SC.Cno = Course(www.111cn.net).Cno;

[例39] 查詢與“劉晨”在同一個(gè)系學(xué)習(xí)的學(xué)生。

此查詢要求可以分步來(lái)完成

① 確定“劉晨”所在系名

SELECT Sdept

FROM Student WHERE Sname= ‘ 劉晨 ‘;

結(jié)果為: CS

② 查找所有在IS系學(xué)習(xí)的學(xué)生。

SELECT Sno,Sname,Sdept

FROM Student

WHERE Sdept= ‘ CS ‘;

將第一步查詢嵌入到第二步查詢的條件中

SELECT Sno,Sname,Sdept

FROM Student

WHERE Sdept IN

(SELECT Sdept

FROM Student

WHERE Sname= ? 劉晨 ?);

此查詢?yōu)椴幌嚓P(guān)子查詢。

用自身連接完成[例39]查詢要求

SELECT S1.Sno,S1.Sname,S1.Sdept

FROM Student S1,Student S2

WHERE S1.Sdept = S2.Sdept AND

S2.Sname = ‘劉晨’;

[例40]查詢選修了課程名為“信息系統(tǒng)”的學(xué)生學(xué)號(hào)和姓名 SELECT Sno,Sname ③ 最后在Student關(guān)系中 FROM Student 取出Sno和Sname WHERE Sno IN

(SELECT Sno ② 然后在SC關(guān)系中找出選 FROM SC 修了3號(hào)課程的學(xué)生學(xué)號(hào) WHERE Cno IN

(SELECT Cno ① 首先在Course關(guān)系中找出 FROM Course “信息系統(tǒng)”的課程號(hào),為3號(hào) WHERE Cname= ?信息系統(tǒng)?

)

);

用連接查詢實(shí)現(xiàn)[例40]

SELECT Sno,Sname

FROM Student,SC,Course

WHERE Student.Sno = SC.Sno AND

SC.Cno = Course.Cno AND

Course.Cname=?信息系統(tǒng)?;

例:假設(shè)一個(gè)學(xué)生只可能在一個(gè)系學(xué)習(xí),并且必須屬于一個(gè) 系,則在[例39]可以用 = 代替IN :

SELECT Sno,Sname,Sdept

FROM Student

WHERE Sdept =

(SELECT Sdept

FROM Student

WHERE Sname= ?劉晨?);

[例41]找出每個(gè)學(xué)生超過(guò)他選修課程平均成績(jī)的課程

號(hào)。

SELECT Sno, Cno

FROM SC x

WHERE Grade >=(SELECT AVG(Grade)

FROM SC y

WHERE y.Sno=x.Sno);

[例42] 查詢其他系中比計(jì)算機(jī)科學(xué)某一學(xué)生年齡

小的學(xué)生姓名和年齡

SELECT Sname,Sage

FROM Student

WHERE Sage < ANY (SELECT Sage

FROM Student WHERE Sdept= ‘ CS ‘) AND Sdept <> ?CS ‘ ; /*父查詢塊中 的條件 */

用聚集函數(shù)實(shí)現(xiàn)[例42]

SELECT Sname,Sage

FROM Student

WHERE Sage <

(SELECT MAX(Sage)

FROM Student www.111cn.net

WHERE Sdept= ?CS ‘)

AND Sdept <> ‘ CS ?;

[例43] 查詢其他系中比計(jì)算機(jī)科學(xué)系所有學(xué)生年齡都小 的學(xué)生姓名及年齡。

方法一:用ALL謂詞

SELECT Sname,Sage

FROM Student

WHERE Sage < ALL

(SELECT Sage

FROM Student

WHERE Sdept= ‘ CS ‘)

AND Sdept <> ‘ CS ?;

方法二:用聚集函數(shù)

SELECT Sname,Sage

FROM Student

WHERE Sage <

(SELECT MIN(Sage)

FROM Student

WHERE Sdept= ‘ CS ‘)

AND Sdept <>’ CS ?;

[例44]查詢所有選修了1號(hào)課程的學(xué)生姓名。

用嵌套查詢

SELECT Sname

FROM Student

WHERE EXISTS

(SELECT *

FROM SC

WHERE Sno=Student.Sno AND Cno= ‘ 1 ‘);

用連接運(yùn)算

SELECT Sname

FROM Student, SC

WHERE Student.Sno=SC.Sno AND SC.Cno= ’1′;

[例45] 查詢沒(méi)有選修1號(hào)課程的學(xué)生姓名。

SELECT Sname

FROM Student

WHERE NOT EXISTS

(SELECT *

FROM SC

WHERE Sno = Student.Sno AND Cno=’1′);

[例39]查詢與“劉晨”在同一個(gè)系學(xué)習(xí)的學(xué)生。

可以用帶EXISTS謂詞的子查詢替換:

SELECT Sno,Sname,Sdept

FROM Student S1

WHERE EXISTS

(SELECT *

FROM Student S2

WHERE S2.Sdept = S1.Sdept AND

S2.Sname = ?劉晨?);

[例46] 查詢選修了全部課程的學(xué)生姓名。

SELECT Sname

FROM Student

WHERE NOT EXISTS

(SELECT *

FROM Course

WHERE NOT EXISTS

(SELECT *

FROM SC

WHERE Sno= Student.Sno AND Cno= Course.Cno )

);

[例47]查詢至少選修了學(xué)生200215122選修的全部課程的學(xué)

生號(hào)碼。

用NOT EXISTS謂詞表示:

SELECT DISTINCT Sno

FROM SC SCX

WHERE NOT EXISTS

(SELECT *

FROM SC SCY

WHERE SCY.Sno = ‘ 200215122 ‘ AND

NOT EXISTS

(SELECT *

FROM SC SCZ

WHERE SCZ.Sno=SCX.Sno AND

SCZ.Cno=SCY.Cno));

[例48] 查詢計(jì)算機(jī)科學(xué)系的學(xué)生及年齡不大于19歲的學(xué)生。

方法一:

� SELECT *

� FROM Student

� WHERE Sdept= ‘CS’

� UNION

� SELECT *

� FROM Student

� WHERE Sage<=19;

方法二:

SELECT DISTINCT *

FROM Student

WHERE Sdept= ‘CS’ OR Sage<=19;

[例49] 查詢選修了課程1或者選修了課程2的學(xué)生。

SELECT Sno

FROM SC

WHERE Cno=’ 1 ‘

UNION

SELECT Sno

FROM SC

WHERE Cno= ‘ 2 ‘;

[例50] 查詢計(jì)算機(jī)科學(xué)系的學(xué)生與年齡不大于19歲

的學(xué)生的交集

SELECT *

FROM Student

WHERE Sdept=’CS’

INTERSECT

SELECT *

FROM Student

WHERE Sage<=19

注:sql server 無(wú)交運(yùn)算

[例50] 實(shí)際上就是查詢計(jì)算機(jī)科學(xué)系中年齡不大

于19歲的學(xué)生

SELECT *

FROM Student

WHERE Sdept= ?CS? AND Sage<=19;

[例51] 查詢選修課程1的學(xué)生集合與選修課程2的學(xué)生集

合的交集

SELECT Sno

FROM SC

WHERE Cno=’ 1 ‘

INTERSECT

SELECT Sno

FROM SC

WHERE Cno=’2 ‘;

[例51]實(shí)際上是查詢既選修了課程1又選修了課程2

的學(xué)生

SELECT Sno

FROM SC

WHERE Cno=’ 1 ‘ AND Sno IN

(SELECT Sno FROM SC

WHERE Cno=’ 2 ‘);

[例52] 查詢計(jì)算機(jī)科學(xué)系的學(xué)生與年齡不大于19歲的學(xué)

生的差集。

SELECT *

FROM Student

WHERE Sdept=’CS’

EXCEPT

SELECT *

FROM Student

WHERE Sage <=19;

注:sql server 無(wú)差運(yùn)算

[例52]實(shí)際上是查詢計(jì)算機(jī)科學(xué)系中年齡大于19歲

的學(xué)生

SELECT *

FROM Student

總結(jié)

以上是生活随笔為你收集整理的mysql 查询 带数据库实例_数据库查询实例(包含所有where条件例子)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。