Oracle数据库查询语句练习
来源:互联网 发布:心知api怎么呐数据 编辑:程序博客网 时间:2024/05/15 16:37
列别名等。
SELECT MAX(sal) AS "最高薪",MIN(sal) AS "最低薪",ROUND(AVG(DISTINCT sal)) AS "平均薪水",SUM(DISTINCT sal) AS "薪水总和"FROM emp ; SELECT COUNT(NVL(ENAME,0)) FROM emp;SELECT deptno,MAX(sal) FROM emp GROUP BY deptno ORDER BY MAX(SAL) DESC;SELECT E.ENAME AS "员工姓名",D.DNAME AS "部门",S.GRADEO AS "薪水等级" FROM EMP E,DEPT D, SALGRADE S WHERE E.JOB = 'MANAGER' AND (E.DEPTNO=D.DEPTNO);SELECT ENAME FROM EMP WHERE JOB='MANAGER';
--多表连接SELECT E.Ename,E.Sal,s.gradeoFROM EMP Ejoin salgrade s on(E.sal between s.losal and s.hisal)ORDER BY ENAME;以特定格式输出日期
SELECT EMPNOO,ENAME,TO_CHAR(HIREDATE,'YYYY')||'年'||TO_CHAR(HIREDATE,'MM')||'月'||TO_CHAR(HIREDATE,'DD')||'日' AS "入职时间" FROM EMP WHERE ROUND(MONTHS_BETWEEN(SYSDATE,HIREDATE))>12;--计算工作时间
SELECT ROUND(MONTHS_BETWEEN(SYSDATE,HIREDATE)) AS "工作时间" FROM EMP;
--截取前三个字符SELECT SUBSTR(ENAME,1,3) FROM EMP WHERE DEPTNO=10 ORDER BY ENAME;
--字符转小写,日期转字符,字符转特定格式SELECT LOWER(ENAME),TO_CHAR(HIREDATE,'YYYY-MM-DD'),TO_CHAR(SAL,'$99,999.999') FROM EMP;
--COALESCE函数SELECT first_name||' '||last_name,COALESCE(TO_CHAR(commission_pct),TO_CHAR(manager_id),'老板') AS COALESCE列FROM employeesWHERE DEPARTMENT_ID IN('80','90');--多表等值连接SELECT E.FIRST_NAME,J.JOB_TITLE,D.DEPARTMENT_NAME,L.CITY,E.SALARYFROM EMPLOYEES E,JOBS J,DEPARTMENTS D,LOCATIONS LWHERE E.JOB_ID=J.JOB_ID AND E.DEPARTMENT_ID=D.DEPARTMENT_ID AND D.LOCATION_ID=L.LOCATION_ID;--自然连接 注意:两个表中的字段名,字段类型需要完全一致,否则返回错误。SELECT E.FIRST_NAME,J.JOB_TITLE,E.SALARYFROM EMPLOYEES ENATURAL JOIN JOBS J;--USING子句SELECT E.FIRST_NAME,J.JOB_TITLE,E.SALARYFROM EMPLOYEES E JOIN JOBS JUSING(JOB_ID);--ON子句SELECT E.FIRST_NAME,J.JOB_TITLE,E.SALARYFROM EMPLOYEES E JOIN JOBS JON(E.JOB_ID=J.JOB_ID); --相比USING子句更为灵活,因为字段名可以不一致。--三向连接SELECT E.FIRST_NAME,D.DEPARTMENT_NAME,L.CITY,E.SALARYFROM EMPLOYEES ENATURAL JOIN DEPARTMENTS DNATURAL JOIN LOCATIONS L;---非等值内连接SELECT E.FIRST_NAME,E.SALARY,EG.NAMEFROM EMPLOYEES E,EGRADE EGWHERE E.HIRE_DATE BETWEEN EG.HIRE_START AND EG.HIRE_END;--左外连接SELECT E.FIRST_NAME,E.DEPARTMENT_ID,D.DEPARTMENT_NAMEFROM EMPLOYEES ELEFT OUTER JOIN DEPARTMENTS DON(E.DEPARTMENT_ID=D.DEPARTMENT_ID);--左外连接简洁写法SELECT E.FIRST_NAME,E.DEPARTMENT_ID,D.DEPARTMENT_NAMEFROM EMPLOYEES E,DEPARTMENTS DWHERE D.DEPARTMENT_ID=E.DEPARTMENT_ID(+);--全外连接SELECT E.FIRST_NAME,DEPARTMENT_ID,D.DEPARTMENT_NAMEFROM EMPLOYEES EFULL OUTER JOIN DEPARTMENTS DUSING(DEPARTMENT_ID);
0 0
- Oracle数据库查询语句练习
- oracle数据库SQL查询语句练习
- oracle数据库SQL查询语句练习一
- oracle数据库SQL查询语句练习二
- oracle数据库SQL查询语句练习三
- 【数据库】Oracle语句练习
- Oracle数据库查询练习
- oracle数据库查询语句
- Oracle数据库基本语句练习
- Oracle数据库---SQL语句练习
- Oracle数据库学习---查询语句
- ORACLE数据库-查询语句SELECT
- Oracle数据库之SQL语句练习
- 数据库Oracle强化练习之多表查询
- oracle数据库基础查询sql练习
- Oracle 查询数据库表空间sql语句
- Oracle数据库scoot用户经典查询语句
- ORACLE数据库管理常用查询语句
- hpu_oj 1192: Sequence
- ubuntu 虚拟机网卡
- Java学习笔记--异常处理
- CODEFORCES 732F Tourist Reform
- Play Framework介绍:HTTP路由
- Oracle数据库查询语句练习
- 职业规划之大局观
- MySQL主从复制服务器(replication)创建笔记
- SonarQube安装、配置、管理、拓展和使用
- windows64位下XGBoost安装
- 04-jquery入门带你玩转jq
- 鼠标放在图片上面进行图片的切换
- 画折线或者线段(plot)
- 堆排序算法之初始堆建立总结