您的位置:首页 > 编程语言 > Java开发

Java MySQL简单查询练习

2018-07-20 22:44 225 查看
[code]--创建部门表
CREATE TABLE dept
(
deptno int PRIMARY KEY,
dname varchar(14),
loc varchar(13)
)

--创建雇员表
CREATE TABLE emp
(
empno int PRIMARY KEY,
ename varchar(10),
job varchar(9),
mgr int,
hiredate datetime,
sal decimal(7,2),
comm decimal(7,2),
deptno int,
FOREIGN KEY(deptno) REFERENCES dept(deptno)
);

--插入数据
INSERT dept VALUES(10,'ACCOUNTING','NEW YORK');
INSERT dept VALUES(20,'RESEARCH','DALLAS');
INSERT dept VALUES(30,'SALES','CHIGAGO');
INSERT dept VALUES(40,'OPERATIONS','BOSTON');

INSERT emp VALUES(7369,'SMITH','CLERK',7902,'2000-12-17',800,NULL,20);
INSERT emp VALUES(7499,'ALLEN','SALESMAN',7698,'2001-2-20',1600,300,30);
INSERT emp VALUES(7521,'WARD','SALESMAN',7698,'2001-2-22',1250,500,30);
INSERT emp VALUES(7566,'JONES','MANAGER',7839,'2001-2-22',1250,500,30);
INSERT emp VALUES(7654,'MARTIN','SALESMAN',7698,'2001-9-28',1250,1400,30);
INSERT emp VALUES(7698,'BLAKE','MANAGER',7839,'2001-5-1',2850,NULL,30);
INSERT emp VALUES(7782,'CLARK','MANAGER',7839,'2001-6-9',2450,NULL,10);
INSERT emp VALUES(7788,'SCOTT','ANALYST',7566,'2002-12-9',3000,NULL,20);
INSERT emp VALUES(7839,'KING','PRESIDENT',NULL,'2001-11-17',5000,NULL,10);
INSERT emp VALUES(7844,'TURNER','SALESMAN',7698,'2001-9-8',1500,0,30);
INSERT emp VALUES(7876,'ADAMS','CLERK',7788,'2003-1-12',1100,NULL,20);
INSERT emp VALUES(7900,'JAMES','CLERK',7698,'2001-3-12',950,NULL,30);
INSERT emp VALUES(7902,'FORD','ANALYST',7566,'2001-3-12',3000,NULL,20);
INSERT emp VALUES(7934,'MILLER','CLERK',7782,'2002-01-23',1300,NULL,10);

--1.查询所有雇员信息
SELECT * FROM learn.emp;

--2.查询所有部门信息
SELECT * FROM learn.dept;

--3.查询没有佣金(comm)的所有雇员信息
SELECT * FROM learn.emp where comm is null

--4.查询部门30中的雇员信息
SELECT * FROM learn.emp where deptno=30

--5.找出佣金(comm)高于薪金(sal)的雇员
SELECT * FROM learn.emp where comm>sal

--6.找出部门(deptno)10中所有经理(job)和部门20中的所有办事员的详细信息
SELECT * FROM learn.emp where (deptno=10 and job='MANAGER') or( deptno=20 and job='CLERK')

--7.找出收取佣金的雇员的不同工作
SELECT job FROM emp where comm is not null group by job

--8.显示带有'R'的雇员姓名
select ename from learn.emp where ename like '%R%'

--9.显示不带有'R'的雇员姓名
select ename from learn.emp where ename not like '%R%'

--10.显示雇员的详细信息,按姓名升序排序
SELECT emp.*,dept.dname FROM emp join dept on emp.deptno=dept.deptno order by ename asc

--11.显示所有雇员的姓名、工作和薪金,按工作降序排序,而按薪金升序排序
select  ename,job,sal from emp order by job desc,sal asc

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: