SQL
SQL
Select * from tab; / cat; (Catalog) Select * from emp; Select * from emp where ename=smith; Select * from emp where sal between 800 AND 1000; Select * from emp where sal not between 800 AND 1000; Select * from emp where ename like %s; (ends with s will display) s%; Starts with S %a%; Anywhere A in names _ _L%; 3rd letter will be L %L_ _; from last third In Not in -> bunch of names/ col names Ename like %s or sal>2000; Select * from emp orderby ename; -> display in ascending order Select * from emp orderby ename desc; JOINs ------1. Equal Joins 2. Self Joins 3. Outer Joins 4. Non Equal Join
1. Select a.empno, a.ename, b.dname, a.deptno, b.deptno from emp a, dept b where a.deptno=b.deptno; 2. Joining the same table by using alias emp a, emp b 3. 4. Select a.ename, a.empno, a.sal, c.loc b.losal, b.grade from emp a, salgrade b, dept c where(a.sal between b.losal and b.hisal) and a.deptno=c.deptno and a.sal>=3000; Cartesian Product Select a.empno, a.ename, b.loc, b.deptno from emp a, dept b; Create table aaa(no number(4)); Insert into aaa values(100); Chapter 3 Single Row Date Number Conversion Character Case Manipulation Lower, upper, initcap to display Character Function Select concat(ename, empno) from emp; Select length(ename) from emp; Select substr(ename,2,3) from emp; Select eno, Lpad(sal,6,0) from emp; Select eno, rpad(sal,6,0) from emp; Select trim(A from ename) from emp;
Number Function
Round, mod, truncate 76.50, 99.74 Select round(price,1) from tablename; 76.6 Select trunk(price,1) from tname; 76.5 Select mod(price,2) from tname; Select mod(14,3) from dual; Date Function Months_between(sysdate, hiredate) from emp; Select round(round(months_between(sysdate, hiredate),0)/12) emp_exp from emp; Add_months Select add_months(sysdate,10) from dual; 09-Jun-11 Select next_day(sysdate,Friday) from dual; Last_day (sysdate) from dual; 28-feb-11 Last_day (hiredate) from emp; 30-june-11, 28-feb-10 Outer Joins (+) Left outer joins Right outer joins Select * from dept a, emp d where d.deptno(+)=a.deptno; Cross join( Cartesian product) Select empno, loc from emp cross join dept; Natural join same as Equal join Select empno, ename, loc, sal from emp natural join dept; Suppose if we didt know the common value we can use Natural join
Using Clause Select e.ename, e.empno,e.sal from emp e Join dept d using(deptno);
On Clause Select e.empno, e.ename, e.sal, d.loc from emp e join dept d ON(e.deptno=d.deptno) Difference between ON & Using While using (col name) we cant display the same col name But in ON condition we can able to display Advantage of ON Select e.ename, e.sal, d.loc, s.grade from emp e JOIN dept d ON (e.deptno=d.deptno) JOIN salgrade S ON e.sal between s.losal and s.Hisal;