Java MySQL簡單查詢練習

--創建部門表
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

 

發佈了56 篇原創文章 · 獲贊 27 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章