1 where 筛选关键字; select * from emp where job >'CLERK' 从emp表中列出 job值大于'CLERK'的项 (由于比较的是字符串,所以加单引号) 2 between and select ename,sal from emp where sal between 800 and 1500 从emp表中找到 sal值在800和1500之间的项(包括800和1500) 列出他们的ename 和sal 3 空值 select ename,sal f…
一.常用的查询语句 1.1 常用查询 查表中有多少个字段 select count(*) from user_tab_columns where table_name=upper('表名') 或者 select max(column_id) from user_tab_columns where table_name=upper('表名') 1.2 日期/时间 相关查询 获取当前月份的第一天 SELECT TRUNC (SYSDATE, 'MONTH') "First day of curren…
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放…
****************************** 日期/时间 相关查询 ***************************** -- 1.获取当前月份的第一天 select trunc (sysdate, 'month') "First day of current month" from dual; -- 2.获取当前月份的最后一天 select trunc (last_day (sysdate)) "Last day of c…
SqlServer 分页语句 select StuID ,StuNo,StuName,Age,Sex, ClassName ClassName from (select *, row_number() over (order by StuID asc) as number from StudentInfo) t ,ClassInfo c where t.ClassID = c.ClassID and t.number between @startindex and @endindex 表1==C…
接上篇博文Oracle执行语句跟踪(1)--使用sql trace实现语句追踪,一旦我们通过会话追踪获取到超时事物的执行语句,就可以使用10046事件对语句进行追踪. 启用10046事件追踪的方式 SQL> alter session set events '10046 trace name context forever ,level 12' ;SQL> alter session set events '10046 trace name context off' ; 从上面语句可以看出追踪…
前言 QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名.这篇 博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题. 问题呈现 直接给出SQL代码和执行error直观来看. select ename name from emp where name = 'SIMTH'; 哦,晃眼而过,可能并不会发现问题,不过一执行,便会报 如下错误: 也就是where子句中name识别无效.造成这种原因是因为:whe…
简单的oracle sql语句练习 求每个部门的平均薪水 select deptno,avg(sal) from emp group by deptno 每个部门同一个职位的最大工资 select deptno,job,max(sal) from emp group by deptno,job 按照部门编号进行分组,分组之后求每一个部门的平均薪水,要求显示平均薪水大于2000的部门的部门编号和平均薪水 select deptno,avg(sal) group by deptno having a…