SQL Training Notes
SQL Training Notes
WHERE
26-03-2025
-----------------
(THEN)
select sal,case
when sal> 3000 then 'woww'
when sal between 1500 and 3000 then 'okok'
when sal< 1500 then 'chiii'
end as Expression (to change the column name)
from emp;
SELECT COMM,CASE
WHEN COMM IS NOT NULL THEN 'GOOD JOB'
ELSE 'ENGINEERS'
END
AS REMARK
FROM EMP;
GROUP BY
-------------------------------- --------------------------------
SELECT GROUP_FUNCTION/GRP_BY_EXP
FROM TAB_NAME
WHERE <FLTR_CNDTN> (OPTIONAL)
GROUP BY COL_NAME/EXP
Q2) WAQTD NO. OF EMPS EARNING MORE THAN 200 IN EACH DEPARTMENT
SELECT COUNT(*),DEPTNO
FROM EMP
WHERE SAL>2000
GROUP BY DEPTNO;
1) SELECT COUNT(*),DEPTNO
FROM EMP
WHERE JOB !='PRESIDENT'
GROUP BY DEPTNO;
2)SELECT SUM(SAL),JOB
FROM EMP
GROUP BY JOB;
3)SELECT COUNT(*)
FROM EMP
WHERE JOB='MANAGER'
GROUP BY DEPTNO;
4)SELECT AVG(SAL),DEPTNO
FROM EMP
WHERE DEPTNO !=20
GROUP BY DEPTNO;
5)SELECT COUNT(*)
FROM EMP
WHERE ENAME LIKE '%A%'
GROUP BY JOB;
6)SELECT COUNT(*),AVG(SAL),DEPTNO
FROM EMP
WHERE SAL>2000
GROUP BY DEPTNO;
7)SELECT COUNT(*),SUM(SAL)
FROM EMP
GROUP BY DEPTNO;
8)
SELECT COUNT(*),MAX(SAL)
FROM EMP
GROUP BY JOB;
9)
SELECT MAX(SAL)
FROM EMP
GROUP BY DEPTNO;
10)
.....
Q) WAQTD NUMBER OF EMO HIRED ON THE SAME DAY INTO THE SAME DEPT
SELECT COUNT(*),HIREDATE,DEPTNO
FROM EMP
GROUP BY HIREDATE,DEPTNO;
Q)
SELECT COUNT(*)
FROM EMP
HAVING CLAUSE
------------------------------------------------------------------------
ORDER OF EXECUTION:-
FROM
WHERE (ROW BY ROW)
GROUP BY (ROW BY ROW)
HAVING (GROUP BY GROUP)
SELECT (GROUP BY GROUP)
Q1)
WAQTD TO FIND NUMBER OF EMPLOYEE WORKING IN EACH DEPT IF THERE ARE AT LEAST 3
EMPLOYEES IN EACH DEPT.
SELECT COUNT(*),DEPTNO
FROM EMP
GROUP BY DEPTNO
HAVING COUNT(*)>=3;
Q2)
WAQTD THE DESIGNATIONS IN WHICH THERE ARE AT LEST 2 EMPLOYEES PRESENT.
SELECT JOB,COUNT(*)
FROM EMP
GROUP BY JOB;
-->SELECT JOB,COUNT(*)
FROM EMP
GROUP BY JOB
HAVING COUNT(*)>=2;
Q3)
--WAQTD THE NAMES THAT ARE REPEATED
SELECT ENAME,COUNT(*)
FROM EMP
GROUP BY ENAME;
-->SELECT ENAME,COUNT(*)
FROM EMP
GROUP BY ENAME
HAVING COUNT(*) >1;
Q5)
WHQTD DEPTNO AND NUMBER OF CLERKS WORKING IN EACH DEPT IF THERE ARE ATLEAST 2
CLERKS IN EACH DEPT.
SELECT COUNT(*),DEPTNO
FROM EMP
GROUP BY DEPTNO
HAVING COUNT('CLERKS')>=2;
Q6)
WAQTD DEPTNO AND TOTAL SALARY NEEDED TO PAY ALL EMP IN EACH DEPT IF THERE ARE
ATLEAST 4 EMP IN EACH DEPT.
SELECT COUNT(*),SUM(SAL)
FROM EMP
GROUP BY DEPTNO
HAVING COUNT(*)>=4;
Q7)
WAQTD NUMBER OF EMPLOYEE EARNING SAL MORE THAN 1200 IN EACH JOB AND THE TOTAL SAL
NEEDED TO PAY EMP OF EACH JOB MUST EXCEES 3800.
SELECT COUNT(*)
FROM EMP
WHERE SAL>1200
GROUP BY JOB
HAVING SUM(SAL)>3800;
Q8)
WAQTD DEPTNO AND NUMBER OF EMP WORKING ONLY IF THERE ARE 2 EMP WORKING IN EACH DEPT
AS MANAGER.
SELECT COUNT(*),DEPTNO
FROM EMP
WHERE JOB='MANAGER'
GROUP BY DEPTNO
HAVING COUNT(JOB)=2;
Q9)
WAQTD JOB AND MAX SAL OF EMP IN EACH JOB IF THE MAX SALARY EXCEEDS 2600.
SELECT JOB,MAX(SAL)
FROM EMP
GROUP BY JOB
HAVING MAX(SAL)>2600;
Q10)
WAQTD THE SALARIES WHICH ARE REPEATED IN EACH EMP TABLE.
SELECT COUNT(*) ,
FROM EMP
ORDER BY
---------------------------------------------------------------------------
SYNTAX:-
SELECT */COL_NAME/EXP
FROM TAB_NAME
WHERE <FILTER_CONDITION> (OPTIONAL)
ORDER BY COL_NAME/EXP ASC/DESC;
ORDER OF EXECUTION:-
FROM
WHERE
GROUP BY
HAVING
SELECT
ORDER BY
SELECT *
FROM EMP
ORDER BY DEPTNO DESC;
SELECT SAL,DEPTNO
FROM EMP
ORDER BY SAL,DEPTNO;
SUB-QUERY
--------------------------------------------------------------------------
CASE1:-
WHEN EVER THERE IS AN UNKNOW PRESENT IN THE QUESTION OR IN A QUERY WE USE SUB QUERY
TO FIND OUT THE UNKNOWN.
CASE 2:-
WHENEVER THE DATA TO BE SELECTED AND CONDITION TO BE EXECUTED ARE PRESENT IN
DIFFERENT TABLES WE USE SUB QUERY.
(WHEN EVER THERE IS AN UNKNOW PRESENT IN THE QUESTION OR IN A QUERY WE USE SUB
QUERY TO FIND OUT THE
Q1)
WAQTD NAME AND SALARY OF EMPLOYEES EARNING MORE THAN YOGI.
SELECT ENAME,SAL
FROM EMP
WHERE SAL >4.(200)(3.SELECT SAL
1.FROM EMP
2. WHERE ENAME='YOGI');
Q1)
WAQTD NAME OF THE EMPLOYEES EARNING MORE THAN THE ADAMS
SELECT ENAME
FROM EMP
WHERE SAL>(SELECT SAL
FROM EMP
WHERE ENAME='ADAMS');
Q2)
WAQTD NAME AND SALARY OF THE EMPLOYEES EARNING LESS THAN KING.
Q3)
WAQTD NAME AND DEPTNO OF THE EMPLOYEE IF THEY ARE WORKING IN THE SAME DEPT AS
JONES.
SELECT ENAME,DEPTNO
FROM EMP
WHERE DEPTNO=(SELECT DEPTNO
FROM EMP WHERE ENAME ='JONES');
Q4)
WAQTD NAME AND JOB OF ALL THE EMPLOYEES WORKING AS THE SAME DESIGNATION AS JAMES.
SELECT ENAME,JOB
FROM EMP
WHERE JOB=(SELECT JOB FROM EMP WHERE ENAME='JAMES');
Q5)
WAQTD EMPNO AND ENAME ALONG WITH ANNUAL SALARY OF ALL EMPLOYEES IF THEIR ANNUAL
SALARY IS GREATER THAN WARDS ANNUAL SALARY.
Q6)
Q11)
WAQTD ENAME AND SALARY OF ALL THE EMPLOYEES WHO ARE LEARNING MORE THAN MILLER BUT
LESS THAN ALLEN.
Q12)
WAQTD ALL THE DETAILS OF THE EMPLOYEES WORKING IN DEPT 20 AND WORKING IN THE SAME
DESIGNATION AS SMITH.
SELECT ENAME,EMPNO,DEPTNO,SAL
FROM EMP
WHERE DEPTNO=20 AND JOB=(SELECT JOB
FROM EMP
WHERE ENAME='SMITH');
Q13)
WAQTD ALL THE DETAILS OF THE EMPLOYEES WORKING AS MANAGER IN THE SAME DEPT AS
TURNER.
CASE 2:-
WHENEVER THE DATA TO BE SELECTED AND CONDITION TO BE EXECUTED ARE PRESENT IN
DIFFERENT TABLES WE USE SUB QUERY.
Q1)
WAQTD DNAME OF ANANT.
SELECT DNAME
FROM DEPT
WHERE DEPTNAME =
(
SELECT DEPTNO
FROM EMP
WHERE ENAME ='ANANT');
Q1)
WAQTD DNAME OF THE EMPLOYEES WHOS NAME IS SMITH.
SELECT DNAME
FROM DEPT
WHERE DEPTNO=(SELECT DEPTNO
FROM EMP WHERE ENAME='SMITH');
Q2)
WAQTD DNAME AND LOC OF THE EMP WHOS NAME IS KING.
SELECT DNAME,LOC
FROM DEPT
WHERE DEPTNO=(SELECT DEPTNO
FROM EMP WHERE ENAME='KING' );
FOR A SINGLE ROW SUB QUERY WE CAN USE NORMAL (=)OPERATOR AS WELL AS SPECIAL
OPERATOR(IN).
IF A SUB QUERY RETURNS MORE THAN ONE VALUE OR A RECORD WE CALLED MULTI ROW SUB
QUERY.
FOR A MULTIROW SUB QUERY WE CAN USE ONLY SPECIAL OPERATORS NORMAL OPERATORS CANT
BE USED.
Q) WAQTD ENAME AND SAL OF THE EMP WHO ARE EARNING MORE THAN ALL THE EMPLOYEES OF
DEPTNO 10.
ANY(LIKE OR OPERATOR)
----------------------------------------------------------------------------
WAQTD NAME JOB AND SAL OF THE EMPLOYEE IF THE ARE EARNING MORE THAN ATLEAST A
MANAGER.
SELECT ENAME,JOB,SAL
FROM EMP
WHERE SAL>ANY(SELECT SAL
FROM EMP WHERE JOB='MANAGER');
SELECT MAX(SAL)
FROM EMP
WHERE SAL<(SELECT MAX(SAL)
FROM EMP);
Q)
5TH MINIUMUM SAL
SELECT MIN(SAL)
FROM EMP
WHERE SAL > (
SELECT MIN(SAL) FROM EMP WHERE SAL > (
SELECT MIN(SAL) FROM EMP WHERE SAL > (
SELECT MIN(SAL) FROM EMP WHERE SAL > (
SELECT MIN(SAL) FROM EMP
)
)
)
);
Q) WAQTD DEPT
NAME OF EMP WHO ARE EARNING 2ND MAXM SALARY.
SELECT DNAME
FROM DEPT
WHERE DEPTNO IN (
SELECT DEPTNO
FROM EMP
WHERE SAL = (
SELECT MAX(SAL)
FROM EMP
WHERE SAL < (
SELECT MAX(SAL) FROM EMP
)
)
);
SELECT ENAME
FROM EMP
WHERE EMPNO IN
(SELECT MGR
FROM EMP
WHERE ENAME ='SMITH');
CASE2)
TO FIND EMPS REPORTING TO A MANAGER.
SELECT ENAME
FROM EMP
WHERE MGR IN (SELECT EMPNO
FROM EMP
WHERE ENAME='CHUKTI');
Q)
WAQTD MANAGER'S MANAGER NAME OF SMITH.
SELECT ENAME
FROM EMP
WHERE EMPNO IN(SELECT MGR
FROM EMP
WHERE EMPNO IN(SELECT MGR
FROM EMP
WHERE ENAME ='SMITH'));
Q)
WAQTD NUMBER OF EMPLOYEES WORKING IN THE DEPT WHERE THE PERSON IS EARNING MAXIMUM
SALARY.
SELECT COUNT(*)
FROM EMP
WHERE DEPTNO=(SELECT MAX(SAL)
FROM EMP);
SELECT COUNT(*)
FROM EMP
WHERE DEPTNO = (
SELECT DEPTNO
FROM EMP
WHERE SAL = (SELECT MAX(SAL) FROM EMP)
);
JOINS
-------------------------------------------------------------------------------
IT IS USED TO RETRIVE THE DATA FROM TABLE SIMULTANEOUSLY.
TYPES OF JOINS:-
1)CROSS JOIN OR CARTESIAN JOIN.
IT IS USED TO MERGE THE RECORD OF TABLE1 WITH ALL THE RECORDS OF TABLE 2.
SYNTAX:-
SELECT * COLUMN NAME /EXPRESSION
FROM T1 CROSS JOIN T2;
2)INNER JOIN:
IT IS USED TO OBTAIN ONLY MATCHING RECORDS OR A RECORD WHICH HAS A PAIR.
SYNTAX:-
TABLE_NAME1.COL_NAME=TABLE_NAME2.COL_NAME
Q)
WAQTD ENAME AND DENAME
SELECT ENAME,DNAME
FROM EMP INNER JOIN DENAME
ON ENAME.DEPTNO=DEPT.DETNO;
Q)
SELECT ENAME,LOC
FROM EMP JOIN DEPT
ON EMP.DEPTNO=DEPT.DEPTNO
WHERE JOB ='MANAGER';
Q)
WAQTD ENAME,SAL AND DNAME OF THE EMPLOYEE WORKING AS CLERK IN DEPT 20 WITH A SALARY
OF MORE THAN 1800.
SELECT ENAME,SAL,DNAME
FROM EMP E JOIN DEPT D
ON E.DEPTNO = D.DEPTNO
WHERE JOB ='CLERK' AND E.DEPTNO=20 AND SAL>1800;
Q)
WAQTD ENAME DEPTNO,DNAME AND LOC OF THE EMPLOYEE EARNING MORE THAN 2000 IN NEW
YORK.
SELECT ENAME,D.DNAME,LOC,D.DEPTNO
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE SAL>2000 AND LOC ='NEW YORK';
Q)
NAME OF THE EMPLOYEE AND HIS LOC OF ALL THE EMPLOYEES.
SELECT ENAME,LOC
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO;
Q2)
WAQTD DNAME AND SAL FOR ALL THE EMPLOYEE WORKING IN ACCOUNTING.
SELECT DNAME,SAL
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE D.DNAME='ACCOUNTING';
Q3)
WAQTD DNAME AND ANNUAL SALARY FOR ALL EMPLOYEES WHOS SALARY IS MORE THAN 2340.
SELECT DNAME,SAL*12
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE E.SAL>2340;
Q4)
WAQTD ENAME AND DNAME FOR EMPLOYEES HAVING CHARACTER 'A' IN THEIR DNAME.
SELECT ENAME,D.DNAME
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE D.DNAME LIKE '%A';
Q5)
WAQTD ENAME AND DNAME FOR ALL THE EMPLOYEES WORKING AS SALESMAN.
SELECT ENAME,D.DNAME
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE JOB='SALESMAN';
Q6)
WAQTD DNAME AND JOB FOR ALL THE EMPLOYEES WHOS JOB AND DNAME STARTS WITH CHAR 'S'.
SELECT D.DNAME,JOB
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE D.DNAME='%S' AND JOB='%S';
Q7)
WAQTD DNAME AND MGR NO FOR EMPLOYEES REPORTING TO 7839.
SELECT D.DNAME,MGR
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE EMPNO=7839;
Q8)
WAQTD DNAME AND HIREDATE FOR EMPLOYEES HIRED AFTER 83 INTO ACCOUNTING AND RESEARCH
DEPT.
Q9)
WAQTD ENAME AND DNAME OF THE EMPLOYEES WHO ARE GETTING COMM IN DEPT 10 OR 30.
Q10)
WAQTD DNAME AND EMPNO FOR ALL THE EMPLOYEES WHOS EMPNO ARE (7839,7902) AND ARE
WORKING IN LOC NEY YORK.
OUTER JOIN
--------------------------------------------------------------------------
IT IS USED TO OBTAIN UN-MATCHED RECORDS.
SYNTAX
FOR LEFT OUTER JOIN:-
SELECT */COLUMN_NAME/EXP
FROM T1 LEFT JOIN T2
ON <JOIN CONDITION>;
SELECT ENAME,DNAME
FROM EMP LEFT JOIN DEPT
ON EMP.DEPTNO=DEPT.DEPTNO;
SELECT */COLUMN_NAME/EXP
FROM T1 RIGHT JOIN T2
ON <JOIN CONDITION>;
IF IS USED TO OBTAIN UN-MATCHED RECORDS OF LEFT AND RIGHT TABLE ALONG WITH MATCHING
RECORDS.
SYNTAX:-
SELECT ENAME,DNAME
FROM EMP LEFT JOIN DEPT
ON EMP.DEPTNO =DEPT.DEPTNO
UNION
SELECT ENAME,DNAME
FROM EMP RIGHT JOIN DEPT
ON EMP.DEPTNO=DEPT.DEPTNO;
SELF JOIN
-----------------------------------------------------------------------------------
----------------------------------------------
JOINING A TABLE BY ITSELF IS KNOWN AS SELF JOIN.
WHENEVER THE DATA TO SELECT IS IN THE SAME TABLE BUT PRESENT IN DIFFERENT RECORDS
WE USE SELF JOIN.
SELECT E1.ENAME,E2.ENAME
FROM EMP E1,EMP E2
WHERE E1.MGR=E2.EMPNO;
SELECT E1.ENAME,E2.ENAME
FROM EMP E1 JOIN EMP E2
ON E1.MGR =E2.EMPNO;
SELECT E1.ENAME,E2.ENAME
FROM EMP E1,EMP E2
WHERE E1.MGR =E2.EMPNO;
NATURAL JOIN
-----------------------------------------------------------------------------------
------------------------------------------------
SELECT *
FROM EMP NATURAL JOIN DEPT;
WHEN THERE IS A RELATION BETWEEN TWO TABLES IT WILL ACT AS INNNER OR EQUI JOIN.
ANSII FORM
SELECT E1.ENAME,E2.ENAME,E3.ENAME
FROM EMP E1 JOIN EMP E2
ON E1.MGR =E2.EMPNO JOIN EMP E3
ON E2.MGR = E3.EMPNO;
WAQTD EMPLOYEE NAME, EMP DEPT NAME , MANAGER NAME AND LOCATION OF MANAGER.
SELECT
E.ENAME AS EMPLOYEE_NAME,
D.DNAME AS DEPARTMENT_NAME,
M.ENAME AS MANAGER_NAME,
DM.LOC AS MANAGER_LOCATION
FROM EMP E
JOIN DEPT D ON E.DEPTNO = D.DEPTNO
LEFT JOIN EMP M ON E.MGR = M.EMPNO
LEFT JOIN DEPT DM ON M.DEPTNO = DM.DEPTNO;
Q1)
NO OF RECORDS PRESENT IN A TABLE WITHOUT COUNT FUNCTION.
Q2)
WAQTD 2ND MAXM SALARY IN ACCOUNTING DEPARTMENT.
Q3
WAQTD EMP NAME, EMP DEPT NAME, MANAGER NAME,MANAGERS DEPT NAME,MANAGERS MANAGERS
NAME, MANAGERS MANAGERS LOCATION
WHERE EMPLOYEES EMP ARE EARNING MORE THAN 2000 AND MANAGERS ARE EARNING MORE THAN
EMP. MANAGERS MANAGERS LOCATION CONSIST OF CHARACTER A. WHERE EMP ARE
Q4)
NAMES OF EMPLOYEES CONTAINING AND OF THE VOWELS.
Q)
FIND THE 2ND MAXIMUM SALARY FROM EACH DEPT.
SELECT SAL
FROM EMP E1 DEPT D1
GROUP BY DEPT
RENAME
IT IS USED TO RENAME THE A TABLE.
RENAME EXISTING_TAB_NAME TO NEW_NAME;
CHANGE A COLUMN
-------------------------------------------------------------------
ALTER TABLE TRAINER
RENAME COLUMN SAL TO TANQHA;
DESC TRAINER;
ALTER TABLE_NAME
MODIFY COL_NAME NEW DATATYPE;
PURGE TABLE TAB_NAME; (TO PERMANENTLY DELETE THE TABLE). IT WILL DELETE THE SATA
FROM THE RECYCLE BIN NOT FROM THE DATABASE. SO FIRST WE NEED TO DROP THE TABLE AND
THEN USE PURGE TO DELETE THE TABLE FROM THE RECYCLE BIN FROM IT.
SHOW RECYCLEBIN;
UPDATE TAB_NAME
SEL COL_NAME = VALUES
WHERE <CONDITION>;
Q)
WAQTD OF EMP DETAILS OF ALL THE EMPLOYEE ALONG WITH ANNUAL BONUS 2000;
SELECT COUNT(*),ENAME,ANNUALBONUS
FROM EMP
WHERE
ROLL BACK
-----------------------------------------------------------------------------------
---------------------
IT WILL TAKE YOU TO THE POINT YOU COMMITTED FOR THE LAST TIME.
ROLLBACK TO S3;
DATA CONTROL LANGUAGE
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------
TO CONTROL THE DATA FLOW BETWEEN THE USER .
GRANT :-
GRANT SQL_STMT
ON TAB_NAME
TO USER_NAME ;
REVOKE:-
SYNTAX:-
REVOKE SQL_STMT
ON TAB_NAME
FROM USER_NAME;
ALL OPERATOR
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
--------------
IT RETURNS TRUE IF A SUB QUERY USE ANY VALUE.
SELECT DNAME
FROM DEPT
WHERE NOT EXISTS (SELECT 1
FROM EMP
WHERE EMP.DEPTNO=DEPT.DEPTNO)
TYPES OF ATTRIBUTES
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
--------------------
1)KEY ATTRIBUTES :-
ATTRIBUTES WHICH IS USED TO IDENTIFIED THE RECORDS UNIQUELY.
FUNCTIONAL DEPENDENCIES
-----------------------------------------------------------------------------------
-----------------------------------------------
AN ATTRIBUTE IN A RELATION DETERMINE ANOTHER ATTRIBUTE IS KNOWN AS SFUNCTIONAL
DEPENDENCIES.
-------------------------------------------------------------------------------02-
04-
2024-------------------------------------------------------------------------------
--------------
SELECT REVERSE(ENAME)
FROM EMP;
select substr('KALINGA',4,2)
FROM DUAL;
SELECT INITCAP(ENAME)
FROM EMP;
SELECT INSTR('KALINGA','A',1,2)
FROM DUAL;
SELECT INSTR('KALINGA','A',1,1)
FROM DUAL;
SELECT REPLACE('APPLE','P','R')
FROM DUAL;
SELECT REPLACE('APPLE','L')
FROM DUAL;
SELECT MONTHS_BETWEEN('02-APR-2024','02-APR-2025')
FROM DUAL;
SELECT MONTHS_BETWEEN('02-APR-2025','02-APR-2024')
FROM DUAL;
ROUND FUNCTION WILL ROUND OFF THE VALUE .5> TO HIGHEST ADNF IF VALUE <.5 IT WILL
TAKE THE FLOOE VALUE OR LEAST VALUR.
C(198.9)
--------
198
SELECT SYSDATE FROM DUAL;
SELECT SYSTIMESTAMP
FROM DUAL;
IMESTAMP
---------------------------------------
PR-25 11.00.00.006000 AM +05:30
Q)
DISPLAY EXPERIENCE OF ALL THE EMPLOYEES IN MONTHS.
SELECT ROUND(MONTHS_BETWEEN(SYSDATE,HIREDATE)/12)
FROM EMP;
------------------------------------------------
ROLLUP---------------------------------------------------------
TO DISPLAY THE GRAND TOTAL OF THE TABLE.
SELECT SUM(SAL),JOB
FROM EMP
GROUP BY ROLLUP(JOB);
SELECT DEPTNO,JOB,SUM(SAL)
FROM EMP
GROUP BY ROLLUP(DEPTNO,JOB)
ORDER BY DEPTNO
-----------------------------------------------------------------------------------
---------------------TEMPORARY
TABLE--------------------------------------------------------------------
CREATE GLOBAL TEMPORARY TABLE GT1
(
SLNO NUMBER(5) UNIQUE,
NAME VARCHAR(10)
)ON COMMIT DELETE ROWS;
DATABASE OBJECTS
1)INDEX
2)VIEWS
3)SEQUENCE
1)VIEWS:
CREATE VIEW VIEW_NAME AS
SELECT COL1,COL2.....
FROM EMP;
UPDATE V
---------------------------SEQUENCE------------------------------
ITS A DATABASE OBJECT WHICH GIVES