Professional Documents
Culture Documents
DATE,LOCATION_ID NUMBER(2));
desc all_tab_columns;
Assignments
_______________
SELECT CONCAT(FIRST_NAME,LAST_NAME)EMPLOYEE_NAME,HIRE_DATE,TO_CHAR(SYSDATE,'YYYY')-
TO_CHAR(HIRE_DATE,'YYYY') TOTAL_EXP FROM EMPLOYEES ORDER BY TOTAL_EXP;
joins
_______
SELECT
employee_id,
first_name
|| ' '
|| last_name employee_name,
emp.job_id,
job_title,
dept.Department_id,
department_name
FROM
employees emp,
jobs job,
departments dept
WHERE
emp.job_id = job.job_id
AND emp.department_id=dept.department_id;
SELECT EMP.EMPLOYEE_ID,CONCAT(EMP.FIRST_NAME,EMP.LAST_NAME)
EMPLOYEE_NAME,DEPT.DEPARTMENT_ID,DEPT.DEPARTMENT_NAME
FROM EMPLOYEES EMP LEFT OUTER JOIN DEPARTMENTS DEPT ON
EMP.DEPARTMENT_ID=DEPT.DEPARTMENT_ID;
SELECT DEPT.DEPARTMENT_ID,DEPARTMENT_NAME,EMPLOYEE_ID,FIRST_NAME
FROM EMPLOYEES EMP RIGHT OUTER JOIN DEPARTMENTS DEPT ON
EMP.DEPARTMENT_ID=DEPT.DEPARTMENT_ID;
SELECT EMPLOYEE_ID,FIRST_NAME,DEPARTMENT_NAME,JOB_TITLE
FROM EMPLOYEES EMP LEFT OUTER JOIN DEPARTMENTS DEPT ON
EMP.DEPARTMENT_ID=DEPT.DEPARTMENT_ID LEFT OUTER JOIN JOBS JB ON
EMP.JOB_ID=JB.JOB_ID;
SELECT DEPT.DEPARTMENT_ID,DEPARTMENT_NAME,COUNT(EMPLOYEE_ID),SUM(EMP.SALARY)
TOTAL_SALARY
FROM EMPLOYEES EMP LEFT OUTER JOIN DEPARTMENTS DEPT
ON DEPT.DEPARTMENT_ID=EMP.DEPARTMENT_ID
WHERE SALARY>5000
GROUP BY DEPT.DEPARTMENT_ID,DEPT.DEPARTMENT_NAME
ORDER BY 1;
SELECT DEPT.DEPARTMENT_ID,DEPARTMENT_NAME,COUNT(EMPLOYEE_ID),SUM(EMP.SALARY)
TOTAL_SALARY
FROM EMPLOYEES EMP LEFT OUTER JOIN DEPARTMENTS DEPT
ON DEPT.DEPARTMENT_ID=EMP.DEPARTMENT_ID
WHERE SALARY>5000
GROUP BY DEPT.DEPARTMENT_ID,DEPT.DEPARTMENT_NAME
HAVING TOTAL_SALARY>10000
ORDER BY 1;
sub-query
_____________
SELECT
first_name
FROM
employees
WHERE
department_id = (
SELECT
department_id
FROM
departments d,
locations l
WHERE
d.location_id = l.location_id
AND l.city = 'London'
);
substirng
_______________
View
__________
select to_date('10-11-19')from dual; (this will give error saying invalid month)
TRANSLATE
translate('222tech','2ec','3it');--------333tith
REPLACE
nullif
_____________
nullif(expr1,expr2). when expr1=expr2 then null else return expr1 end.
coalesce
_____________
can take 3 or more expressions and returns the first non null expression.
soundex
_______________
when we compare date with sysdate it will not be equal bcoz along with date there
is time also, so we need to use trunc in order to get date portion.
case
__________
select topic,
(case
when dot<sysdate then 'completed'
when dot=trunc(sysdate) then 'in progress'
else 'yet to complete' end) training_Remarks
from trainee;
***with trunc***
select topic,
(case
when trunc(dot)<trunc(sysdate) then 'completed'
when trunc(dot)=trunc(sysdate) then 'in progress'
when trunc(dot)>trunc(sysdate) then 'yet to complete' end) training_Remarks
from trainee;
___________________________________________________________________________________
________
select pers_email,substr(pers_email,1,
(instr(pers_email,'@')))||'*********************' email from staff;
select pers_email,
(case
when substr(pers_email,(instr(pers_email,'@')+1))='kmail.com'
then substr(pers_email,1,(instr(pers_email,'@')))||'hotmail.com'
else substr(pers_email,1,(instr(pers_email,'@')))||'yahoo.com' end)email
from staff;
select pers_email,decode(substr(pers_email,(instr(pers_email,'@')
+1)),'kmail.com',substr(pers_email,1,
(instr(pers_email,'@')))||'hotmail.com','rediffmail.com',substr(pers_email,1,
(instr(pers_email,'@')))||'yahoo.com','yahoo.com',substr(pers_email,1,
(instr(pers_email,'@')))||'yahoo.com','hotmail.com',substr(pers_email,1,
(instr(pers_email,'@')))||'yahoo.com')email from staff;