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

全國咨詢/投訴熱線:400-618-4000

JAVA培訓之單表查詢練習

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

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

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

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

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

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

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

圖1-4 查看emp表

2.單表查詢練習

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

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

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

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

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

圖1-9 查詢結(jié)果5
(6) 查詢部門編號為10的所有經(jīng)理,部門編號為20的所有銷售員,還有即不是經(jīng)理又不是銷售員但其工資大或等于20000的所有員工詳細資料:
  • 分析:這條題的邏輯與第五題的邏輯是一樣的,都是或的關(guān)系;
對應的sql語句是: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 查詢練習6
(7)查詢無獎金或獎金低于1000的員工,對應sql語句是:select * from emp where comm is null or comm<1000,查詢結(jié)果如圖1-11所示:

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

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

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

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

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

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

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

圖1-19 查詢練習14

本文版權(quán)歸傳智播客java學院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客java學院
0 分享到:
和我們在線交談!