--having 瀵瑰垎緇勮繘琛岄檺鍒訛紝 --鏌ヨ鎸夐儴闂ㄥ垎緇勭粺璁″鉤鍧囧伐璧勫ぇ浜?000鐨勯儴闂?/span> selectround(avg(sal),2),deptno from emp groupby deptno havingavg(sal) >2000 --瀛愭煡璇紝鍦ㄤ竴涓煡璇腑鍖呭惈鍙︿竴涓煡璇?/span> --鏌ヨ鍛樺伐宸ヨ祫澶т簬鎵鏈夊憳宸ュ鉤鍧囧伐璧勭殑鍛樺伐 select ename,sal from emp where sal > (selectavg(sal) from emp) --鏌ヨ鍚勯儴闂ㄤ腑宸ヨ祫鏈楂樼殑鍛樺伐 select A.ename,A.sal,A.Deptno from emp A join (selectmax(sal) maxsal,deptno from emp groupby deptno) B on (A.Deptno=B.deptno and A.sal=B.maxsal) --鏌ヨ鍚勯儴闂ㄤ腑宸ヨ祫鏈楂樼殑鍛樺伐錛屽拰鍏跺伐璧勭瓑綰?/span> select C.ename,C.sal,D.grade,C.Deptno from salgrade D join (select A.ename,A.sal,A.Deptno from emp A join (selectmax(sal) maxsal,deptno from emp groupby deptno) B on (A.Deptno=B.deptno and A.sal=B.maxsal)) C on (C.sal between D.LOSAL and D.HISAL) --鏌ヨ鍛樺伐鐨勫悕縐幫紝宸ヨ祫鍙婂伐璧勭瓑綰?/span> select ename,sal, grade from emp A, salgrade B where (A.Sal between B.losal and B.hisal) --鏌ヨ鎵鏈夊憳宸ョ殑鍚嶇О鍜屽叾緇忕悊鐨勫悕縐?/span> select A.empno,A.ename, B.ename as marname from emp A,emp B where A.mgr=B.empno --鏌ヨ鍛樺伐鐨勫鍚嶅拰鍏舵墍鍦ㄩ儴闂ㄧ殑鍚嶇О select ename,dname from emp a,dept b where a.deptno=b.deptno select ename,dname from emp a join dept b on a.deptno=b.deptno --宸﹁繛鎺ワ紝鍗沖綋宸﹁竟琛ㄦ病鏈変笌鍙寵竟琛ㄥ尮閰嶇殑鏃跺欙紝鏄劇ず宸﹁〃鐨勫叏閮ㄦ暟鎹?/span> select A.empno,A.ename, B.ename as marname from emp A leftjoin emp B on A.mgr=B.empno --鍙寵繛鎺ワ紝鍗沖綋宸﹁竟琛ㄦ病鏈変笌鍙寵竟琛ㄥ尮閰嶇殑鏃跺欙紝鏄劇ず鍙寵〃鐨勫叏閮ㄦ暟鎹?/span> select A.empno,A.ename, B.dname from emp A rightjoin dept B on A.deptno=B.deptno --姹傛墍鏈夊憳宸ョ殑騫沖潎钖按絳夌駭 selectavg(C.grade) from (select A.Empno,A.Ename,A.Sal,A.Deptno,B.grade from emp A join salgrade B on A.Sal between B.losal and B.hisal) C --鏌ヨ鎵鏈夊憳宸ヤ腑錛屼負緇忕悊浜虹殑鍚嶇О select ename from emp where empno in(selectdistinct mgr from emp) --姣旀櫘閫氬憳宸ヨ柂姘磋繕瑕侀珮鐨勭粡鐞嗕漢 select ename from emp where empno in (selectdistinct mgr from emp where mgr isnotnull) and sal > (selectmax(sal) from emp where empno notin (selectdistinct mgr from emp where mgr isnotnull)--鎵鏈夌粡鐞嗕漢鐨勭紪鍙?nbsp; ) --姣旇緝鏁堢巼 select*from emp where deptno=10and ename like'%A%'; --絎竴鏉¢珮浜庣浜屾潯錛屽綋絎竴涓潯浠朵笉鍚堥傜殑鏃跺欏氨涓嶇敤鍘繪牳瀵圭浜屼釜鏉′歡錛岃岀涓涓潯浠惰緝灝忔墍浠ヤ細蹇簺 select*from emp where ename like'%A%'and deptno=10
--鍒涘緩琛ㄨ鍙?nbsp;create orcal甯哥敤鐨勭被鍨嬫湁 闈炵┖綰︽潫錛?/span>NOTNULL 鍞竴綰︽潫錛?/span>UNIQUE 涓婚敭綰︽潫錛?/span>PRIMARYKEY 澶栧緩綰︽潫錛?/span>REFERENCES 澶栭敭綰︽潫琚弬鑰冨瓧孌靛繀欏諱負涓婚敭 濡傦細 CREATETABLE CLASS(ID NUMBER(8) PRIMARYKEY,NAME VARCHAR2(20) NOTNULL) CREATETABLE STUDENT ( ID NUMBER(8) PRIMARYKEY, CLASS NUMBER(8) NOTNULLREFERENCES CLASS(ID),--澧炲姞浜嗕竴涓閿害鏉燂紝鍏抽摼CLASS琛ㄧ殑ID NAME VARCHAR2(20) NOTNULL ) 涔熷彲浠ヨ繖鏍峰啓 CREATETABLE STUDENT ( ID NUMBER(8) NOTNULL, CLASS NUMBER(8) NOTNULL錛?br />
NAME VARCHAR2(20) NOTNULL錛?br />
CONSTRAINT S_ID_PK PRIMARYKEY(ID), CONSTRAINT S_C_RE FOREIGNKEY (CLASS) REFERENCES CLASS(ID) ) 鏄庡ぉ闇瑕佸紕娓呮鐨勪簨錛?br />
濡備綍鍦╓EBLOGIC9涓婂緩绔嬫暟鎹簮 鍦ㄥ緩琛ㄦ椂璺熷湪瀛楁鍚庣殑綰︽潫涓哄瓧孌電駭綰︽潫錛屽緩瀹屽瓧孌靛悗浣跨敤CONSTRAINT寤虹珛鐨勭害鏉熶負琛?br />
綰х害鏉燂紝鍙互緇欑害鏉熷垱寤虹害鏉熷悕銆?br />
CONSTRAINT 澧炲姞琛ㄧ駭綰︽潫 濡傦細澧炲姞綰︽潫錛屼笉鑳藉悓鏃跺嚭鐜癗AME錛孉DDRESS錛孉GE鐩稿悓鐨勬暟鎹?br />
CREATETABLE TEST ( NAME VARCHAR2(20) NOTNULL, ADDRESS VARCHAR2(128), AGE NUMBER(2), CONSTRAINT NAME_ADD_AGE_UNI QNIQUE (NAME,ADDRESS,AGE) )
-- distinct 鍘繪帀閲嶅鐨勮褰?/span> selectdistinct deptno,ename,sal from emp ; --substr(str,start,len)錛屾埅鍙栧瓧絎︿覆錛孲TR闇瑕佹埅鍙栫殑瀛楃涓叉垨鍒楋紝START涓轟粠絎嚑涓瓧絎﹀紑濮嬶紝LEN鎴彇澶氶暱 select substr(ENAME,2,2) from emp orderby deptno asc,ename desc; select chr(65) from dual; --灝嗕竴涓暟杞崲涓哄瓧絎?/span> selectascii('A') from dual;--姹備竴涓暟鐨凙SCII鐮?/span> selectround(23.652) from dual ;--鍥涜垗浜斿叆 selectround(23.45902234,2) from dual;--鍥涜垗浜斿叆錛屽悗鐐瑰皬鏁?浣?/span> select to_char(sal,'$99,999.9999') from emp ; --灝嗕竴涓暟杞崲涓哄瓧絎︿覆騫舵寜鏌愮鏍煎紡錛?/span> --鍏朵腑涓涓?浠h〃涓涓暟瀛楋紝濡傛灉涓嶅浣嶆暟鍙栧悗闈綅錛?/span> select to_char(sal,'L99,999.9999') from emp ;--鍓嶉潰鍔犱笂L錛屽嵆Local鍔犱笂鏈湴瀛楃涓?/span> select to_char(hiredate,'yyyy-mm-dd HH:mm:ss') from emp; select to_char(sysdate,'yyyy-mm-dd hh24:mm:ss') today from dual ; --鏃ユ湡杞崲鍑芥暟to_date(str1,str2) str1闇瑕佽漿鎹㈢殑瀛楃涓詫紝str2涓鴻漿鎹㈡垚浠涔堟牸寮?/span> select*from emp where hiredate > to_date('1981-02-01','yyyy-mm-dd') --灝嗗瓧絎︿覆杞崲涓烘暟瀛梩o_number(str1,str2)str1闇瑕佽漿鎹㈢殑瀛楃涓詫紝str2涓鴻漿鎹㈡垚浠涔堟牸寮?/span> select sal from emp where sal > to_number('$1,220.00','$99,999.9999') --NULL鎯呭喌澶勭悊錛屼嬌鐢╪vl(str1,str2)錛宻tr1涓洪渶瑕佸鐞嗙殑鍒楋紝STR2涓轟負絀烘椂榛樿鐨勫鹼紝濡傛灉涓虹┖鏃跺垯涓?錛屼笉涓篘ULL鏃跺垯鐩存帴涓篶omm select ename,nvl(comm,0) comm from emp ; --鍥涘叆浜斿叆鍒板嚑浣嶏紝 selectround(max(sal),2) 鏈澶у伐璧?round(min(sal),2) 鏈灝忓伐璧?round(avg(sal),2) 騫沖潎宸ヨ祫 from emp ; --灝嗘暟瀛楄漿鎹負鏌愮鏍煎紡鐨勫瓧絎︿覆 select to_char(max(sal),'L9,999.99') 鏈澶у伐璧?to_char(min(sal),'L9,999.99') 鏈灝忓伐璧?to_char(avg(sal),'L9,999.99') 騫沖潎宸ヨ祫 from emp ; --group by鍒嗙粍鏌ヨ select sal,deptno from emp groupby deptno,sal; --姹傛墍鏈夊憳宸ヤ腑鍗曚釜閮ㄩ棬宸ヨ祫鏈楂樼殑鍛樺伐鎵鏈変俊鎭?/span> select A.*from emp A innerjoin (select deptno, max(sal) as total from emp groupby deptno) B on A.Deptno=B.deptno and A.Sal=B.total