数据库查询语句小例子

CREATE TABLE dept (
	deptno CHAR (2) PRIMARY KEY,
	dname VARCHAR (14) UNIQUE,
	loc VARCHAR (50)
);

CREATE TABLE if not EXISTS emp (
	empno CHAR (4) PRIMARY KEY,
	ename VARCHAR (10),
	job VARCHAR (9),
	mgr CHAR (4),
	hiredate DATE,
	sal DECIMAL (7, 2),
	deptno char(2),
	FOREIGN key (deptno)REFERENCES dept (deptNo)
);

给cmp表增加一列comm,其数据类型及精度为DECIMAL(7,2)
alter table emp add comm DECIMAL(7,2);

给dept表插入一行数据 部门编号为60,部门名称为SCHOOL,地址为NanJing
INSERT INTO dept VALUES ('60','SCHOOL','NanJing');

把员工编号为‘7788’的员工月薪增加1000
UPDATE emp SET sal=sal+1000 WHERE empno='7788';

删除部门编号为30的所有员工的记录
DELETE from emp WHERE deptno='30';

列出职位为MANAGER 的员工的编号,姓名
SELECT empno,ename FROM emp WHERE job='MANAGER';

查询至少有一个员工的部门编号
SELECT DISTINCT deptno from emp;

找出部门10中的经理MANAGER和部门20中的普通员工CLERK
SELECT * FROM emp WHERE (deptno='10' and job='MANAGER')or(deptno='20' and job='CLERK');

显示雇员姓名,根据其服务年限,将最老的排在最前面
SELECT ename from emp ORDER BY hiredate;

统计平均工资大于500的各部门的平均工资
SELECT deptno,AVG(sal) FROM emp WHERE sal>500 GROUP BY deptno;

列出所有员工的姓名,该员工所在的部门名称和工资
SELECT ename,dname,sal FROM emp join dept on emp.deptno=dept.deptno;

列出受雇日期早于其直接上级上午所有员工, 连接查询
SELECT e1.* FROM emp e1 JOIN emp e2 ON e1.mgr=e2.empno WHERE e1.hiredate<e2.hiredate;

列出至少有一个员工的部门信息 子查询
SELECT * FROM dept WHERE deptno IN(SELECT DISTINCT deptno FROM emp);

猜你喜欢

转载自blog.csdn.net/qq_40183281/article/details/88746777