Вы находитесь на странице: 1из 18

WEEK-5B

JOINS
1-INNER JOIN
2-LEFT OUTER JOIN
3-RIGHT OUTER JOIN
4-FULL OUTERJOIN

DISTINCT

SET OPERATORS
1-UNION
2-INTERSECT
3-MINUS
DISTINCT : IT IS USED TO LIST UNIQUE VALUES.
SET OPERATORS
1-UNION 2-INTERSECT 3-MINUS

A INTERSECT B
A UNION B

A MINUS B
B MINUS A
UNION and UNION ALL
UNION
The UNION command is used to select related information from two tables, much
like the JOIN command. However, when using the UNION command all selected
columns need to be of the same data type.
Note: With UNION, only distinct values are selected. (NO DUPLICATED VALUE)

Economy Engineering

ID NAME ID NAME
01 AYNUR 01 SERIK
02 GULNUR 02 BERIK
03 NURGUL 03 YERIK
04 SERIK 04 NURIK
Economy Engineering

ID NAME ID NAME
01 AYNUR NAME 01 SERIK
02 GULNUR AYNUR 02 BERIK
03 NURGUL GULNUR 03 YERIK
04 SERIK NURGUL 04 NURIK

SERIK
BERIK
Economy Engineering YERIK
NURIK
AYNUR
NURIK 7 rows selected
YERIK
GULNUR SERIK

BERIK
NURGUL
SELECT NAME FROM ECONOMY

UNION
SELECT NAME FROM ENGINEERING
UNION ALL
The UNION ALL command is equal to the UNION command, except that UNION
ALL selects all values.

Economy Engineering

ID NAME ID NAME
01 AYNUR 01 SERIK
02 GULNUR 02 BERIK
03 NURGUL 03 YERIK
04 SERIK 04 NURIK
NAME
AYNUR
GULNUR
SELECT NAME FROM ECONOMY
NURGUL
UNION ALL SERIK
BERIK
SELECT NAME FROM ENGINEERING
YERIK
NURIK
8 rows selected
INTERSECT
The INTERSECT command is used to select the same values from two tables.

Economy Engineering

ID NAME ID NAME
01 AYNUR 01 SERIK
02 GULNUR 02 BERIK
03 NURGUL 03 YERIK
04 SERIK 04 NURIK

Economy Engineering
SELECT NAME FROM ECONOMY
AYNUR
NURIK INTERSECT
YERIK SELECT NAME FROM ENGINEERING
GULNUR SERIK

BERIK NAME
NURGUL SERIK
1 rows selected
MINUS
The MINUS command is used select all distinct rows selected by the first table but
not by the second table.
Economy Engineering
ID NAME ID NAME
01 AYNUR 01 SERIK
02 GULNUR 02 BERIK
03 NURGUL 03 YERIK
04 SERIK 04 NURIK

Economy Engineering SELECT NAME FROM ECONOMY

AYNUR MINUS
NURIK
SELECT NAME FROM ENGINEERING
YERIK
GULNUR SERIK NAME

BERIK AYNUR
NURGUL GULNUR
NURGUL
3 rows selected
NAME
SELECT NAME FROM ECONOMY AYNUR

MINUS GULNUR

SELECT NAME FROM ENGINEERING NURGUL


3 rows selected

NAME
SELECT NAME FROM ENGINEERING
NURIK
MINUS
YERIK
SELECT NAME FROM ECONOMY
BERIK
3 rows selected
GROUP BY
TABLE : CELLS
Company Month Members
KCELL JANUARY 5
KCELL FEBRUARY 3
DALACOM JANUARY 4
DALACOM FEBRUARY 5
BEELINE JANUARY 3
BEELINE FEBRUARY 2

SELECT COMPANY,SUM(MEMBERS) SELECT MONTH,SUM(MEMBERS)


FROM CELLS FROM CELLS
GROUP BY COMPANY GROUP BY MONTH

Company Members
KCELL 8 Month Members

DALACOM 9 JANUARY 12
FEBRUARY 10
BEELINE 5
HAVING
TABLE : CELLS
Company Month Members
KCELL JANUARY 5
KCELL FEBRUARY 3
DALACOM JANUARY 4
DALACOM FEBRUARY 5
BEELINE JANUARY 3
BEELINE FEBRUARY 2

SELECT COMPANY,SUM(MEMBERS) SELECT COMPANY,SUM(MEMBERS)


FROM CELLS FROM CELLS
GROUP BY COMPANY GROUP BY COMPANY
HAVING SUM(MEMBERS) > 6

Company Members Company Members


KCELL 8 KCELL 8
DALACOM 9 DALACOM 9
BEELINE 5
HAVING
TABLE : CELLS
Company Month Members
KCELL JANUARY 5
KCELL FEBRUARY 3
DALACOM JANUARY 4
DALACOM FEBRUARY 5
BEELINE JANUARY 3
BEELINE FEBRUARY 2

SELECT MONTH,SUM(MEMBERS) SELECT MONTH,SUM(MEMBERS)


FROM CELLS FROM CELLS
GROUP BY MONTH GROUP BY MONTH
HAVING SUM(MEMBERS) < 11

Month Members Month Members


JANUARY 12 FEBRUARY 10
FEBRUARY 10
1-Write an SQL statement which returns JOB and TOTAL SALARY of jobs.
2-Write an SQL statement which returns JOB and AVERAGE SALARY of jobs.
3-Write an SQL statement which returns JOB and TOTAL SALARY of jobs is greater
than 5000.
4-Write an SQL statement which returns JOB and AVERAGE SALARY of jobs is
greater than 2000.
5-Write an SQL statement which returns the average salary of all DEPTNO.
6-Display the highest,lowest,sum, and average salary of all employees.Label the columns
Maximum,Minimum,Sum,and Average, respectively. Round your results to the decimal position.

7-Display the maximum, minimum,sum, and average salary for each job type.

8-Write a query to display the number of people with the same job.
9-Determine the number of managers without listing them. Label the column “Number of Managers”

10-Write an SQL statement that will display the difference between the highest and lowest salaries.
Label the column “Diffrenece”

11-Display the manager number and salary of the lowest paid employee for the manager.
Exclude anyone where the manager id is knot known.
Exclude any groups where the minimum salary is less than $1000. Sort the output in
Descending order of salary

12-Write a query to display the department name, location name, number of employees, and the
Average of salary for all employees in that department.
Label the columns dname,loc,Number of people, and Salary , respectively.
13-List DEPTNO exists in DEPT but not in EMP.

14-List All Deptno from emp and dept.


1)SELECT JOB,SUM(SAL) FROM EMP GROUP BY JOB;
2)SELECT JOB,AVG(SAL) FROM EMP GROUP BY JOB;
3)SELECT JOB,SUM(SAL) FROM EMP GROUP BY JOB HAVING SUM(SAL)>5000;
4)SELECT JOB,AVG(SAL) FROM EMP GROUP BY JOB HAVING AVG(SAL)>2000;
5)SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO;
6)SELECT MAX(SAL) as MAXIMUM,MIN(SAL) as MINIMUM,SUM(SAL) as SUM,ROUND(AVG(SAL),1) as AVERAGE FROM
EMP;
7)SELECT JOB,MAX(SAL) as MAXIMUM,MIN(SAL) as MINIMUM,SUM(SAL) as SUM,AVG(SAL) as AVERAGE FROM EMP
GROUP BY JOB;
8)SELECT JOB,COUNT(*) from EMP GROUP BY JOB;
9)SELECT COUNT(*) as NUMBERS FROM EMP GROUP BY JOB HAVING JOB='MANAGER';
10)SELECT MAX(SAL)-MIN(SAL) as DIFFERENT from EMP;
11)SELECT MGR,MIN(SAL) FROM EMP group by MGR having MGR IS NOT NULL AND MIN(SAL)>1000 ORDER BY MIN(SAL)
DESC;
12)SELECT DNAME,LOC,COUNT(*),AVG(SAL) from (SELECT d.DNAME,LOC,e.SAL FROM EMP e JOIN dept d ON
e.DEPTNO=d.DEPTNO) GROUP BY DNAME,LOC ;
13)SELECT DEPTNO from dept MINUS SELECT DEPTNO from emp;
14)SELECT DEPTNO from EMP UNION SELECT DEPTNO from dept;

Вам также может понравиться