Clauses
Clauses
Clauses
1. FROM
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. DISTINCT
7. ORDER BY
EMP
14 rows selected.
SQL> SELECT *
FROM EMP;
HERE 'FROM EMP' WILL FETCH EMP TABLE DATA AND 'SELECT *' WILL DISPLAY ALL FETCHED DATA.
AFTER FETCHING, IF WE NEED TO DISPLAY FEW COLUMNS INSTEAD OF ALL COLUMNS (*) THEN WE
SHOULD SPECIFY THE LIST OF COLUMNS IN SELECT STATEMENT.
WHERE: WHERE CLAUSE IS USED TO FILTER THE FETCHED DATA BY USING FROM CLAUSE.
WE USE WHERE CLAUSE TO TAKE OR AVOID SET OF ROWS FROM THE TABLE.
SQL> SELECT *
FROM EMP
WHERE JOB='CLERK';
ENAME
----------
CLARK
KING
MILLER
DISPLAY EMP NAMES WHO ARE TAKING COMM?
ENAME
----------
ALLEN
WARD
MARTIN
TURNER
ENAME
----------
SMITH
JONES
BLAKE
CLARK
SCOTT
KING
ADAMS
JAMES
FORD
MILLER
DISPLAY EMP DETAILS WHO ARE WORKING AS MANAGER AND NOT TAKING COMM?
SQL> SELECT *
FROM EMP
WHERE JOB='MANAGER' AND COMM IS NULL;
SQL> SELECT *
FROM EMP
WHERE SAL <3000;
GROUP BY: GROUP BY CLAUSE WILL GROUP SIMILAR VALUES AND CALCULATES AGGREGATE VALUE
(MAX,MIN,SUM,AVG OR COUNT).
JOB SUMSAL
--------- -----------------------
CLERK 4150
SALESMAN 5600
PRESIDENT 5000
MANAGER 8275
ANALYST 6000
DISPLAY MAX OF SALARY FROM EACH JOB?
JOB MAXSAL
--------- ------
CLERK 1300
SALESMAN 1600
PRESIDENT 5000
MANAGER 2975
ANALYST 3000
DEPTNO MINSAL
------ ------
30 950
20 800
10 1300
DISPLAY JOBS AND SUM OF SALARIES AND WHOSE SUM OF SALARIES ARE MORE THAN 5000?
JOB SUMSAL
--------- ------
SALESMAN 5600
MANAGER 8275
ANALYST 6000
DISPLAY JOBS AND THEIR MAXIMUM SALARIES AND MAX OF SAL MUST BE LESS THAN 3000?
JOB SUMSAL
--------- ------
CLERK 1300
SALESMAN 1600
MANAGER 2975
DISPLAY JOBS AND COUNT OF EMPLOYEES FOR EACH JOB AND THE COUNT MUST BE MORE THAN 3?
JOB SUMSAL
--------- ----------------
CLERK 4
SALESMAN 4
JOB
---------
CLERK
SALESMAN
PRESIDENT
MANAGER
ANALYST
DEPTNO
------
30
20
10
ORDER BY: ORDER BY CLAUSE IS USED TO SORT THE DATA EAITHE IN ASC OR DESC ORDER.
IF WE DONT SPECIFY ANY SORTING TYPE THEN IT TAKES ASC BY DEFAULT.
WE CAN SPECIFY COLUMN NAMES, POSITION OF COLUMN OR ALIAS NAMES ALSO IN
ORDER BY CLAUSE.
SQL> SELECT *
FROM EMP
ORDER BY SAL DESC;
14 rows selected.
SQL> SELECT *
FROM EMP
ORDER BY SAL;
SQL> SELECT *
FROM EMP
ORDER BY 3 DESC;
14 rows selected.
NOTE: We can also sort the data by using multiple columns in single select
In this case job will sort the data in asc order and based on this result next sal will sort the data in desc
order