Oracle ¶à±íÁ¬½Ó×Ó²éѯ
1.Çó²¿ÃÅÖÐÄÄЩÈËнˮ×î¸ß£º
select ename,sal
from emp join
(
select max(sal) max_sal, deptno
from emp
group by deptno
) t
on (emp.sal = t.max_sal and emp.deptno = t.deptno);
2.Çó²¿ÃÅÆ½¾ùнˮµÄµÈ¼¶£º
select deptno, avg_sal, grade
from
(
select deptno, avg(sal) avg_sal
from emp
group by deptno
) t join salgrade s
on (t.avg_sal between s.losal and s.hisal);
3.Çó²¿ÃÅÆ½¾ùµÄнˮµÈ¼¶£º
select deptno, avg(grade)
from (
select deptno, ename, grade
from emp join salgrade s
on emp.sal between s.losal and s.hisal
) t
group by deptno;
4.ÇóÄÄЩÈËÊǾÀíÈË£º
select ename from emp where empno in (select distinct mgr from emp);
5.²»×¼Óþۼ¯º¯Êý£¬ÇóнˮµÄ×î¸ßÖµ£º
select distinct sal
from emp
where sal not in
(
select distinct e1.sal
from emp e1 join emp e2 on (e1.sal < e2.sal)
);
6.Ç󯽾ùнˮ×î¸ß²¿ÃŵIJ¿ÃűàºÅ£º
select deptno, avg_sal
from (
select deptno, avg(sal) avg_sal
from emp
group by deptno
) where avg_sal = (
select max(avg_sal)
from (
select deptno, avg(sal) avg_sal
from emp
group by deptno
)
);
7.Ç󯽾ùнˮ×î¸ß²¿ÃŵIJ¿ÃÅÃû³Æ£º
select deptno,dname
from dept
where deptno = (
select deptno
from (
select deptno, avg(sal) avg_sal
from emp
group by deptno
) where avg_sal = (
select max(avg_sal)
 
Ïà¹ØÎĵµ£º
1.Êý¾Ý¿â¶ÀÁ¢ÐÔ
½«Ó¦ÓôÓÊý¾Ý¿âA ÒÆÖ²µ½Êý¾Ý¿âB ʱ£¬ÎÒʱ³£Óöµ½ÕâÖÖÎÊÌ⣺ӦÓÃÔÚÊý¾Ý¿âA ÉÏÔ±¾ÎÞи¿É»÷£¬µ½ÁË
Êý¾Ý¿âB ÉÏÈ´²»Äܹ¤×÷£¬»òÕß±íÏֵúÜÀëÆæ¡£¿´µ½ÕâÖÖÇé¿ö£¬ÎÒÃǵĵÚÒ»¸öÏë·¨ÍùÍùÊÇ£¬Êý¾Ý¿âB ÊÇÒ»¸ö
“²»ºÃµÄ”Êý¾Ý¿â¡£¶øÕæÕýµÄÔÒòÆäʵÊÇÊý¾Ý¿âB µÄ¹¤×÷·½Ê½ÍêÈ«²»Í¬¡£Ã»ÓÐÄĸöÊý¾Ý¿âÊÇ´íµÄ ......
OracleÖк¯ÊýÒÔǰ½éÉܵÄ×Ö·û´®´¦Àí£¬ÈÕÆÚº¯Êý£¬Êýѧº¯Êý,ÒÔ¼°×ª»»º¯ÊýµÈµÈ£¬»¹ÓÐÒ»ÀຯÊýÊÇͨÓú¯Êý¡£Ö÷ÒªÓУºNVL,NVL2,NULLIF,COALESCE£¬Õ⼸¸öº¯ÊýÓÃÔÚ¸÷¸öÀàÐÍÉ϶¼¿ÉÒÔ¡£
ÏÂÃæ¼òµ¥½éÉÜһϼ¸¸öº¯ÊýµÄÓ÷¨¡£
ÔÚ½éÉÜÕâ¸ö֮ǰÄã±ØÐëÃ÷°×ʲôÊÇoracleÖеĿÕÖµnull
1.NVLº¯Êý
NVLº¯ÊýµÄ¸ñʽÈçÏ£ºNVL(expr1,expr2)
º¬ÒåÊ ......
ÏÖÔÚÓÐÒÔÏÂÁ½ÕÅ±í£º
±íA ......
--JOBS
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT(job => X,
what => 'sp_test();',
next_date => to_date('28-04-2009 11:58:00',
'dd/mm/yyyy hh24:mi:ss'),
interval => 'SYSDATE+1');
END;
/
commit;
select to_char(sysdate-90,'yyyymmdd') from dual; --Ñ¡ÔñÈÕÆÚ
select * from ......
ORACLE
CREATE OR REPLACE FUNCTION SETSTATE(OLDVALUE VARCHAR2, POS NUMBER, SVALUE VARCHAR2)
RETURN VARCHAR2
IS
RETURN_VALUE VARCHAR2 (20);
LEN NUMBER(8);
I NUMBER(8);
TEMP_VALUE VARCHAR2(1);
BEGIN
LEN := LENGTH(OLDVALUE);
IF POS > ......