全国咨询/投诉热线:400-618-4000

JAVA培训之单表查询练习

更新时间:2016年10月18日16时54分 来源:传智播客JAVA培训学院, 浏览次数:

1.安装mysql图形化工具—SQLyog

我们之前对mysql数据库的操作都是在dos窗口下进行的,下面给大家介绍一个图形化工具,使用这个工具可以来操作数据库,点击此处下载 SQLyog工具,解压之后,双击如图1-1所示的应用程序:

图1-1 SQLyog目录
双击图1-1中的应用程序后,如果需要输入用户名和注册码,请输入以下信息:
  • 用户名:Any
  • 注册码:26f359fc-e3f6-4727-8af1-72a1a4a0819d

如果不需要输入注册码,那么会出现图1-2所示界面:

图1-2 建立与数据库的连接
点击图1-2中的【连接】之后会弹出一个对话框,点击【OK】即可进入图1-3所示界面:

图1-3 SQLyog界面
双击要打开的数据库,例如user数据库,选择【table】,找到需要打开的表,如图1-4所示:

图1-4 查看emp表

2.单表查询练习

下面我们会使用SQLyog工具来操作数据库,首先来看第一道练习题:
(1) 查询出部门编号为30的所有员工,对应的sql语句:select * from emp where deptno=30,查询结果如图1-5所示:

图1-5 查询练习1
(2)查询所有销售员的姓名、编号和部门编号,对应的sql语句:select ename,empno,deptno from emp where job=’销售员’,查询结果如图1-6所示:

图1-6 查询练习2
(3) 查询奖金高于工资的员工,对应的sql语句是:select * from emp where comm>sal,查询结果如图1-7所示:

图1-7 查询结果3
(4) 查询奖金高于工资60%的员工,对应sql语句是:select * from emp where comm>sal*0.6,查询结果如图1-8所示:

图1-8 查询结果4
(5)查询部门编号为10的所有经理,和部门编号为20的所有销售员的详细资料:
  • 分析:这道题的难点在于查询的两个部分之间是与的关系还是或的关系,题目表明将部门为10的所有经理,部门为20的所有销售员都查询出来,那么他们之间的关系必然是或的关系。
对应的sql语句是:select * from emp where deptno=10 and job=’经理’ or deptno=20 and job=’销售员’,查询结果如图1-9所示:

图1-9 查询结果5
(6) 查询部门编号为10的所有经理,部门编号为20的所有销售员,还有即不是经理又不是销售员但其工资大或等于20000的所有员工详细资料:
  • 分析:这条题的逻辑与第五题的逻辑是一样的,都是或的关系;
对应的sql语句是:select * from emp where deptno=10 and job=’经理’ or deptno=20 and job=’销售员’ or job not in(‘经理’,’销售员’) and sal>=20000,查询结果如图1-10所示:

图1-10 查询练习6
(7)查询无奖金或奖金低于1000的员工,对应sql语句是:select * from emp where comm is null or comm<1000,查询结果如图1-11所示:

图1-11 查询练习7
(8)查询名字由三个字组成的员工,对应sql语句是:select * from emp where ename like ‘___’,查询结果如图1-12所示:

图1-12 查询练习8
(9) 查询2000年入职的员工,对应sql语句:select * from emp where hiredate like ‘2000-%’,其中“%”匹配任意字符,查询结果如图1-13所示:

图1-13 查询练习9
(10)查询所有员工详细信息,用编号升序排序,对应的sql语句为:select * from emp order by empno asc,查询结果如图1-14所示:

图1-14 查询练习10
(11)查询所有员工详细信息,用工资降序排序,如果工资相同使用入职日期升序排序,对应的sql语句是:select * from emp order by sal desc,hiredate asc,查询结果如图1-15所示:

图1-15 查询练习11
(12)查询每个部门的平均工资,以后如果看到“每个”字眼时,就要想到分组查询,这道题就是一个分组查询,根据部门分组,因此对应的sql语句是:select deptno,avg(sal) from emp group by deptno,查询结果如图1-16所示:

图1-16 查询练习12
(13)查询每个部门的雇员数量,这个题也是分组查询,按照部门分组,对应的sql语句是:select deptno,count(*) from emp group by deptno,查询结果如图1-17所示:

图1-18 查询练习13
(14)查询每种工作的最高工资、最低工资、人数,该题也是分组查询,按照工作分组,对应的sql语句是:select job,max(sal),min(sal),count(*) from emp group by job,查询结果如图1-19所示:

图1-19 查询练习14

本文版权归传智播客java学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客java学院

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额