1. CLAUSES:
There are totally 4 types of clauses are present in SQLSERVER those are
1. GROUPBY
2. ORDERBY
3. WHERE
4. HAVING
Create Database Practice DB
GO
Create Table EMPLOYEE
Go
Insert into EMPLOYEE values (EName VARCHAR (10), SAL VARCHAR (MAX), JOB VARCHAR (15),
DEPTNO INT)
GO
insert DEPARTMENT values(‘RAGHU’,3000,’CLERK’,10), (‘SATISH’,80000,’MANAGER’,10),
(‘KIRAN’,9000,’CLERK’,30), (‘RAVI’,30000,’ACCOUNTANT’,30), (‘ASHOK’,2000,’MANAGER’,20),
(‘PRABHA’,17000,’ACCOUNTANT’,20), (‘RADHA’,13000,’CLERK’,20)
GO
ORDERBY:
It is used to display Records in the table in ascending order or descending order
SYNTAX:
SELECT statement
ORDERBY<coloumn_name> [DESC]
EXAMPLE QUERIES:
TO CREATE DUPLICATE TABLE ANS STORE SALARIES IN ASCENDING
ORDER
SYNTAX:
2. SELECT * INTO<DUPLICATE_TABLE>
FROM<OLD_TABLE>
SELECT * INTO EMPLIST
FROM EMPLOYEE ORDERBY SAL
IN SQLSERVER 2012 duplicate table will not work.
TO GET NAMES IN ALPHABETICAL ORDER
SELECT * FROM EMPLOYEE
ORDER BY ENAME
TO GET SALARIES IN ASCENDING ORDER
SELECT * FROM EMPLOYEE
ORDER BY SAL
TO GET SALARIES IN DESCENDING ORDER
SELECT * FROM EMPLOYEE
ORDER BY SAL DESC
TO GET SALARIES IN ASCENDING ORDER WITH DEPTNO
SELECT * FROM EMPLOYEE
WHERE DEPTNO=10
ORDER BY SAL
TO DISPLAY SALARIES BASED ON JOB
SELECT * FROM EMPLOYEE
ORDER BY JOB.SAL
TO GET THREE HIGHEST SALARIES FROM EMPLOYEE TABLE
SELECT TOP3 SAL FROM EMPLOYEE
ORDERBY SAL DESC
TO GET LAST 3 RECORDS FROM EMPLOYEE TABLE
SELECT * FROM EMPLOYEE
ORDER BY ENO
3. OFFSET 3 ROWS
FETCH NEXT 3 ROWS ONLY
NOTE:FETCH AND OFFSET COMMANDS WILL WORK ONLY IN SQLSERVER 2012.
TO GET SALARIES IN ASCENDING ORDER BASED ON THE GIVEN COLOUMN INDEX
VALUE
SELECT * FROM EMPLOYEE
ORDER BY 6
GROUPBY:
1. Ii is used to group duplicate values or similar values existing in the columns of the table
2. With GROUPBY statement GROUP OR AGGRIGATE functions will be used. They are used to work on
multiple values or multiple rows in the table.
The functions are SUM(),AVG(),MAX(),M IN(),COUNT (),STDEV(),VA R()…etc.
SYNATAX:
SELECT STATEMENT
GROUPBY<COLOUMN NAME>
[HAVING CLAUSE]
TO GET COUNT OF EMPLOYEE IN EACH DEPARTMENNT
SELECT DEPTNO,COUNT(*)FROM EMPLOYEE
GROUP BY DEPTNO
OR
SELECT DEPTNO,COUNT(JOB)no_of_emp(TEMPORARY COLUMN NAME USED) HERE FROM
EMPLOYEE
GROUPBY DEPTNO
4. TO GET COUNT OF EMPLOYEES WITH DEPTNO 10
SELECT DEPTNO,COUNT(DEPTNO) FROM EMPLOYEE
WHERE DEPT NO=10
GROUPBY DEPTNO
OR
HAVING DEPTNO=10
TO GET COUNT OF EMPLOYEES ONLY WHEN THE COUNT IS GREATER THAN 3
SELECT DEPTNO,COUNT(DEPTNO)FROM EMPLOYEE
GROUPBY DEPTNO
HAVING COUNT(DEPTNO)>3
TO GET COUNT OF EMPLOYEES IN EACH JOB
SELECT JOB,COUNT(JOB)FROM EMPLOYEE
GROUPBY JOB
TO GET HIGHEST SALARY FROM EACH DEPARTEMENT
SELECT DEPTNO,MAX(SAL) FROM EMPLOYEE
GROUPBY DEPTNO
TO GET HIGHEST SALARY FROM EACH JOB
SELECT JOB,MAX(SAL) FROM EMPLOYEE
GROUPBY JOB
TO GET HIGHEST SALARY FROM EACH JOB AND DISPLAY SALARIES IN
ASCENDING ORDER
SELECT JOB,MAX(SAL) FROM EMPLOYEE
GROUPBY JOB
ORDERBY MAX(SAL)
OR
SELECT JOB,MAX(SAL) FROM EMPLOYEE
GROUPBY JOB
ORDERBY SAL