SQL 基本数据查询

SELECT * FROM EMP WHERE ENAME = 'KING';

SELECT * FROM emp WHERE sal BETWEEN 1000 AND 3000;

SELECT * FROM emp WHERE ename LIKE '%S%';

SELECT * FROM emp WHERE ename LIKE '%S%' AND sal BETWEEN 1000 AND 3000;

SELECT DISTINCT sal FROM emp;

--高级查询

--排序 order by;asc升序,basc降序

SELECT * FROM emp ORDER BY sal DESC;

SELECT * FROM emp ORDER BY ename ASC;

SELECT * FROM emp ORDER BY ename ASC,sal DESC;

--多表查询

SELECT emp.ename,emp.sal,dept.dname,dept.deptno,dept.dname FROM emp,dept WHERE emp.deptno = dept.deptno;

--查询某员工信息,包括姓名,薪资,奖金,部门名称。(关联查询)

SELECT emp.ename,emp.sal,dept.dname,dept.deptno FROM emp,dept WHERE emp.deptno = dept.deptno AND emp.ename = 'KING';

--通过部门名称查询部门员工信息,显示信息:姓名,薪资,奖金

SELECT emp.ename,emp.sal,emp.comm,emp.deptno FROM emp,dept WHERE emp.deptno = dept.deptno AND dept.dname = 'RESEARCH';

SELECT dept.deptno FROM dept WHERE dept.dname = 'RESEARCH';

--子查询

SELECT emp.ename,emp.sal,emp.comm,emp.deptno,dept.deptno,dept.dname

       FROM emp,dept

       WHERE emp.deptno IN (SELECT dept.deptno FROM dept WHERE dept.dname = 'RESEARCH');

--多列子查询

SELECT deptno,ename,job,sal

       FROM emp

       WHERE (deptno,sal) IN (SELECT deptno,MAX(sal) FROM emp GROUP BY deptno);

--查询各部门中员工姓名中带s的员工人数,并排序

select count(*),deptno

       from emp  

       where ename like '%S%' GROUP BY deptno order by count(*);

--as运算符

SELECT ename AS 员工姓名,deptno AS 部门编号

       FROM emp;

--起别名

SELECT e.ename AS 员工姓名,e.job AS 工作名称,e.sal AS 薪资,d.deptno AS 部门编号

       FROM emp e,dept d

       WHERE e.deptno = d.deptno;

 

SELECT COUNT(*) AS 人数,deptno AS 部门编号

       FROM emp e

       WHERE e.ename LIKE '%S%' GROUP BY e.deptno ORDER BY COUNT(*);

--查询每个部门薪资最低的员工

SELECT deptno AS 部门编号,ename AS 员工姓名,sal AS 薪资

       FROM emp

       WHERE (deptno,sal) IN (SELECT deptno,MIN(sal) FROM emp GROUP BY deptno);

 

--练习 :

--1 通过部门名称查询 该部门的员工薪资总额

SELECT dept.dname,SUM(sal)

       FROM emp,dept

       WHERE emp.deptno = dept.deptno GROUP BY dept.dname

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值