教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

JAVA培訓(xùn)之單表查詢練習(xí)

更新時(shí)間:2016年10月18日16時(shí)54分 來(lái)源:傳智播客JAVA培訓(xùn)學(xué)院, 瀏覽次數(shù):

1.安裝mysql圖形化工具—SQLyog

我們之前對(duì)mysql數(shù)據(jù)庫(kù)的操作都是在dos窗口下進(jìn)行的,下面給大家介紹一個(gè)圖形化工具,使用這個(gè)工具可以來(lái)操作數(shù)據(jù)庫(kù),點(diǎn)擊此處下載 SQLyog工具,解壓之后,雙擊如圖1-1所示的應(yīng)用程序:

圖1-1 SQLyog目錄
雙擊圖1-1中的應(yīng)用程序后,如果需要輸入用戶名和注冊(cè)碼,請(qǐng)輸入以下信息:
  • 用戶名:Any
  • 注冊(cè)碼:26f359fc-e3f6-4727-8af1-72a1a4a0819d

如果不需要輸入注冊(cè)碼,那么會(huì)出現(xiàn)圖1-2所示界面:

圖1-2 建立與數(shù)據(jù)庫(kù)的連接
點(diǎn)擊圖1-2中的【連接】之后會(huì)彈出一個(gè)對(duì)話框,點(diǎn)擊【OK】即可進(jìn)入圖1-3所示界面:

圖1-3 SQLyog界面
雙擊要打開(kāi)的數(shù)據(jù)庫(kù),例如user數(shù)據(jù)庫(kù),選擇【table】,找到需要打開(kāi)的表,如圖1-4所示:

圖1-4 查看emp表

2.單表查詢練習(xí)

下面我們會(huì)使用SQLyog工具來(lái)操作數(shù)據(jù)庫(kù),首先來(lái)看第一道練習(xí)題:
(1) 查詢出部門編號(hào)為30的所有員工,對(duì)應(yīng)的sql語(yǔ)句:select * from emp where deptno=30,查詢結(jié)果如圖1-5所示:

圖1-5 查詢練習(xí)1
(2)查詢所有銷售員的姓名、編號(hào)和部門編號(hào),對(duì)應(yīng)的sql語(yǔ)句:select ename,empno,deptno from emp where job=’銷售員’,查詢結(jié)果如圖1-6所示:

圖1-6 查詢練習(xí)2
(3) 查詢獎(jiǎng)金高于工資的員工,對(duì)應(yīng)的sql語(yǔ)句是:select * from emp where comm>sal,查詢結(jié)果如圖1-7所示:

圖1-7 查詢結(jié)果3
(4) 查詢獎(jiǎng)金高于工資60%的員工,對(duì)應(yīng)sql語(yǔ)句是:select * from emp where comm>sal*0.6,查詢結(jié)果如圖1-8所示:

圖1-8 查詢結(jié)果4
(5)查詢部門編號(hào)為10的所有經(jīng)理,和部門編號(hào)為20的所有銷售員的詳細(xì)資料:
  • 分析:這道題的難點(diǎn)在于查詢的兩個(gè)部分之間是與的關(guān)系還是或的關(guān)系,題目表明將部門為10的所有經(jīng)理,部門為20的所有銷售員都查詢出來(lái),那么他們之間的關(guān)系必然是或的關(guān)系。
對(duì)應(yīng)的sql語(yǔ)句是:select * from emp where deptno=10 and job=’經(jīng)理’ or deptno=20 and job=’銷售員’,查詢結(jié)果如圖1-9所示:

圖1-9 查詢結(jié)果5
(6) 查詢部門編號(hào)為10的所有經(jīng)理,部門編號(hào)為20的所有銷售員,還有即不是經(jīng)理又不是銷售員但其工資大或等于20000的所有員工詳細(xì)資料:
  • 分析:這條題的邏輯與第五題的邏輯是一樣的,都是或的關(guān)系;
對(duì)應(yīng)的sql語(yǔ)句是:select * from emp where deptno=10 and job=’經(jīng)理’ or deptno=20 and job=’銷售員’ or job not in(‘經(jīng)理’,’銷售員’) and sal>=20000,查詢結(jié)果如圖1-10所示:

圖1-10 查詢練習(xí)6
(7)查詢無(wú)獎(jiǎng)金或獎(jiǎng)金低于1000的員工,對(duì)應(yīng)sql語(yǔ)句是:select * from emp where comm is null or comm<1000,查詢結(jié)果如圖1-11所示:

圖1-11 查詢練習(xí)7
(8)查詢名字由三個(gè)字組成的員工,對(duì)應(yīng)sql語(yǔ)句是:select * from emp where ename like ‘___’,查詢結(jié)果如圖1-12所示:

圖1-12 查詢練習(xí)8
(9) 查詢2000年入職的員工,對(duì)應(yīng)sql語(yǔ)句:select * from emp where hiredate like ‘2000-%’,其中“%”匹配任意字符,查詢結(jié)果如圖1-13所示:

圖1-13 查詢練習(xí)9
(10)查詢所有員工詳細(xì)信息,用編號(hào)升序排序,對(duì)應(yīng)的sql語(yǔ)句為:select * from emp order by empno asc,查詢結(jié)果如圖1-14所示:

圖1-14 查詢練習(xí)10
(11)查詢所有員工詳細(xì)信息,用工資降序排序,如果工資相同使用入職日期升序排序,對(duì)應(yīng)的sql語(yǔ)句是:select * from emp order by sal desc,hiredate asc,查詢結(jié)果如圖1-15所示:

圖1-15 查詢練習(xí)11
(12)查詢每個(gè)部門的平均工資,以后如果看到“每個(gè)”字眼時(shí),就要想到分組查詢,這道題就是一個(gè)分組查詢,根據(jù)部門分組,因此對(duì)應(yīng)的sql語(yǔ)句是:select deptno,avg(sal) from emp group by deptno,查詢結(jié)果如圖1-16所示:

圖1-16 查詢練習(xí)12
(13)查詢每個(gè)部門的雇員數(shù)量,這個(gè)題也是分組查詢,按照部門分組,對(duì)應(yīng)的sql語(yǔ)句是:select deptno,count(*) from emp group by deptno,查詢結(jié)果如圖1-17所示:

圖1-18 查詢練習(xí)13
(14)查詢每種工作的最高工資、最低工資、人數(shù),該題也是分組查詢,按照工作分組,對(duì)應(yīng)的sql語(yǔ)句是:select job,max(sal),min(sal),count(*) from emp group by job,查詢結(jié)果如圖1-19所示:

圖1-19 查詢練習(xí)14

本文版權(quán)歸傳智播客java學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客java學(xué)院
0 分享到:
和我們?cè)诰€交談!