文档详情

sql查询语句中的或.doc

发布:2017-03-19约1.45万字共25页下载文档
文本预览下载声明
sql查询语句中的或 篇一:常用SQL查询语句 常用SQL查询语句 一、简单查询语句 1. 查看表结构 SQLgt;DESC emp; 2. 查询所有列 SQLgt;SELECT * FROM emp; 3. 查询指定列 SQLgt;SELECT empmo, ename, mgr FROM emp; SQLgt;SELECT DISTINCT mgr FROM emp; 只显示结果不同的项 4. 查询指定行 SQLgt;SELECT * FROM emp WHERE job #39;CLERK#39;; 5. 使用算术表达式 SQLgt;SELECT ename, sal*13+nvl comm,0 FROM emp; nvl comm,1 的意思是,如果comm中有值,则nvl comm,1 comm; comm中无值,则nvl comm,1 0。 SQLgt;SELECT ename, sal*13+nvl comm,0 year_sal FROM emp; (year_sal为别名,可按别名排序) SQLgt;SELECT * FROM emp WHERE hiredategt;#39;01-1月-82#39;; 6. 使用like操作符(%,_) %表示一个或多个字符,_表示一个字符,[charlist]表示字符列中的任何单一字符, [harlist]或者[!charlist]不在字符列中的任何单一字符。 SQLgt;SELECT * FROM emp WHERE ename like #39;S__T%#39;; 7. 在where条件中使用In SQLgt;SELECT * FROM emp WHERE job IN #39;CLERK#39;,#39;ANALYST#39; ; 8. 查询字段内容为空/非空的语句 SQLgt;SELECT * FROM emp WHERE mgr IS/IS NOT NULL; 9. 使用逻辑操作符号 SQLgt;SELECT * FROM emp WHERE salgt;500 or job #39;MANAGE#39; and ename like #39;J%#39;; 10. 将查询结果按字段的值进行排序 SQLgt;SELECT * FROM emp ORDER BY deptno, sal DESC; 按部门升序,并按薪酬降序 二、复杂查询 1. 数据分组 max,min,avg,sum,count SQLgt;SELECT MAX sal ,MIN age ,AVG sal ,SUM sal from emp; SQLgt;SELECT * FROM emp where sal SELECT MAX sal from emp ; SQLgt;SELEC COUNT * FROM emp; 2. group by(用于对查询结果的分组统计) 和 having子句(用于限制分组显示结果) SQLgt;SELECT deptno,MAX sal ,AVG sal FROM emp GROUP BY deptno; SQLgt;SELECT deptno, job, AVG sal ,MIN sal FROM emp group by deptno,job having AVG sal lt;2000; 对于数据分组的总结: a. 分组函数只能出现在选择列表、having、order by子句中(不能出现在where中) b. 如果select语句中同时包含有group by, having, order by,那么它们的顺序是group by, having, order by。 c. 在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须出现在group by子句中,否则就是会出错。 使用group by不是使用having的前提条件。 3. 多表查询 SQLgt;SELECT ,e.sal,d.dname FROM emp e, dept d WHERE e.deptno d.deptno order by d.deptno; SQLgt;SELECT e.ename,e.sal,s.grade FROM emp e,salgrade s WHER e.sal BETWEEN s.losal AND s.hisal; 4. 自连接(指同一张表的连接查询) SQLgt;SELECT er.ename, ee.ename mgr_name from emp er, emp ee where er.mgr ee.empno; 5. 子查询(
显示全部
相似文档