0% found this document useful (0 votes)
74 views21 pages

Week 5a Joins

1. The document discusses using multiple tables in SQL queries through various JOIN types and examples. It covers using JOINs in the WHERE clause and FROM clause, Cartesian multiplications without JOINs, and JOINs with tables in unequal states. 2. Examples demonstrate basic JOIN queries to retrieve data from two tables based on common fields, using table aliases, and counting rows from JOIN results. 3. Specific examples show finding students enrolled in a particular course, counting students enrolled in a course, and listing students taught by a particular instructor.

Uploaded by

Kenan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views21 pages

Week 5a Joins

1. The document discusses using multiple tables in SQL queries through various JOIN types and examples. It covers using JOINs in the WHERE clause and FROM clause, Cartesian multiplications without JOINs, and JOINs with tables in unequal states. 2. Examples demonstrate basic JOIN queries to retrieve data from two tables based on common fields, using table aliases, and counting rows from JOIN results. 3. Specific examples show finding students enrolled in a particular course, counting students enrolled in a course, and listing students taught by a particular instructor.

Uploaded by

Kenan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 21

WEEK-5A

USING MULTIPLE TABLES


Using alias for tables
JOIN in WHERE clause
JOIN in FROM clause
Cartesian Multiplication
Join at unequal state
EXAMPLE-1 : using WHERE clause

COMMON FIELD : DEPTNO

?????????? SQL CODE ?????????

USING TABLES ALIAS

EMP DEPT

E D
EXAMPLE-2 : using JOIN clause

COMMON FIELD : DEPTNO

SELECT EMP.ENAME, DEPT.DNAME FROM EMP JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;

SELECT E.ENAME,D.DNAME FROM EMP E JOIN DEPT D ON E.DEPTNO=D.DEPTNO;

EMP DEPT

E D
EXAMPLE-3 : in unequal state

NO COMMON FIELD

SELECT EMP.ENAME, SALGRADE.GRADE FROM EMP,SALGRADE


WHERE EMP.SAL BETWEEN SALGRADE.LOSAL AND SALGRADE.HISAL
EXAMPLE-4

TABLE : COURSE TABLE : STUDENT


COURSE_ID COURSE_NAME INSTRUCTOR STUDENT_ID STUDENT_NAME COURSE_ID GRADE
CS100 INFORMATICS KOJAHMETOV 1 ASEM CS100 A
CS101 ALGORITHMS ORISBAYEV 2 NURLAN CS100 A-
CS213 JAVA BOGDANCHIKOV 3 NARGIZ CS101 C
4 ALIP CS213 B
5 TOLEGEN CS100 C
6 YERNUR CS101 B

SELECT
STUDENT.STUDENT_NAME,
COURSE.COURSE_NAME,
STUDENT.GRADE,
STUDENT_NAME COURSE_NAME GRADE INSTRUCTOR
COURSE.INSTRUCTOR
ASEM INFORMATICS A KOJAHMETOV
NURLAN INFORMATICS A- KOJAHMETOV FROM STUDENT,COURSE
NARGIZ ALGORITHMS C ORISBAYEV WHERE
ALIP JAVA B BOGDANCHIKOV
STUDENT.COURSE_ID=COURSE.COURSE_ID
TOLEGEN INFORMATICS C KOJAHMETOV
YERNUR ALGORITHMS B ORISBAYEV
EXAMPLE-5

SELECT
STUDENT.STUDENT_NAME,
COURSE.COURSE_NAME,
STUDENT.GRADE, USING ALIAS(nick name)
COURSE.INSTRUCTOR
FOR TABLES
FROM STUDENT,COURSE
WHERE
STUDENT.COURSE_ID=COURSE.COURSE_ID

SELECT
S.STUDENT_NAME,
C.COURSE_NAME,

STUDENT  S S.GRADE,
C.INSTRUCTOR
FROM STUDENT S,COURSE C
COURSE  C WHERE
S.COURSE_ID=C.COURSE_ID
EXAMPLE-6
JOIN in WHERE clause JOIN in FROM clause

SELECT SELECT
S.STUDENT_NAME, S.STUDENT_NAME,
C.COURSE_NAME,
C.COURSE_NAME, S.GRADE,
S.GRADE, C.INSTRUCTOR
C.INSTRUCTOR FROM STUDENT S JOIN COURSE C
ON
FROM STUDENT S,COURSE C S.COURSE_ID=C.COURSE_ID
WHERE
STUDENT.COURSE_ID=COURSE.COURSE_ID
CARTESIAN MULTIPLICATION :There is no joined tables.

JOIN NO JOIN

SELECT SELECT
STUDENT.STUDENT_NAME, STUDENT.STUDENT_NAME,
COURSE.COURSE_NAME, COURSE.COURSE_NAME,
STUDENT.GRADE, STUDENT.GRADE,
COURSE.INSTRUCTOR COURSE.INSTRUCTOR
FROM STUDENT,COURSE FROM STUDENT,COURSE
WHERE
STUDENT.COURSE_ID=COURSE.COURSE_ID
EXAMPLE-7
STUDENT_ID STUDENT_NAME COURSE_ID GRADE
COURSE_ID COURSE_NAME INSTRUCTOR
1 ASEM CS100 A
CS100 INFORMATICS KOJAHMETOV
TABLE : 2 NURLAN CS100 A-
CS101 ALGORITHMS ORISBAYEV
CS213 JAVA BOGDANCHIKOV STUDENT 3 NARGIZ CS101 C
4 ALIP CS213 B
TABLE : COURSE
5 TOLEGEN CS100 C
6 YERNUR CS101 B
EXAMPLE-8

CARTESIAN MULTIPLICATION
TABLE : COURSE
COURSE_ID COURSE_NAME INSTRUCTOR
CS100 INFORMATICS KOJAHMETOV
CS101 ALGORITHMS ORISBAYEV
ROWS : 3
CS213 JAVA BOGDANCHIKOV

TABLE : STUDENT 6X3 = 18

STUDENT_ID STUDENT_NAME COURSE_ID GRADE


1 ASEM CS100 A
2 NURLAN CS100 A-
3 NARGIZ CS101 C ROWS : 6
4 ALIP CS213 B
5 TOLEGEN CS100 C
6 YERNUR CS101 B
SELECT * SELECT * SELECT * SELECT *
FROM BIN_A ; FROM BIN_B ; FROM BIN_C ; FROM BIN_D ;
A B C D
--- --- --- ---
0 0 0 0
1 1 1 1

SELECT * FROM BIN_D , BIN_C, BIN_B , BIN_A ;

HOW CAN YOU DISPLAY THIS


RESULT SET USING 4 TABLES
ABOVE.
EXAMPLE-9: Who takes “JAVA” ?

TABLE : COURSE TABLE : STUDENT


STUDENT_ID STUDENT_NAME COURSE_ID GRADE
COURSE_ID COURSE_NAME INSTRUCTOR
1 ASEM CS100 A
CS100 INFORMATICS KOJAHMETOV
2 NURLAN CS100 A-
CS101 ALGORITHMS ORISBAYEV
3 NARGIZ CS101 C
CS213 JAVA BOGDANCHIKOV
4 ALIP CS213 B
5 TOLEGEN CS100 C
6 YERNUR CS101 B

STUDENT_NAME COURSE_NAME

ALIP JAVA

SELECT S.STUDENT_NAME,C.COURSE_NAME FROM STUDENT S


JOIN COURSE C ON C.COURSE_ID=S.COURSE_ID
WHERE C.COURSE_NAME=‘JAVA’;
EXAMPLE-10 : How many students take “INFORMATICS” ?

TABLE : COURSE TABLE : STUDENT


STUDENT_ID STUDENT_NAME COURSE_ID GRADE
COURSE_ID COURSE_NAME INSTRUCTOR
1 ASEM CS100 A
CS100 INFORMATICS KOJAHMETOV
2 NURLAN CS100 A-
CS101 ALGORITHMS ORISBAYEV
3 NARGIZ CS101 C
CS213 JAVA BOGDANCHIKOV
4 ALIP CS213 B
5 TOLEGEN CS100 C
6 YERNUR CS101 B

count
3

SELECT COUNT(*) FROM STUDENT S


JOIN COURSE C ON C.COURSE_ID=S.COURSE_ID
WHERE C.COURSE_NAME=‘INFORMATICS’;
EXAMPLE-11 : Which students take course from “ORISBAYEV”

TABLE : COURSE TABLE : STUDENT


STUDENT_ID STUDENT_NAME COURSE_ID GRADE
COURSE_ID COURSE_NAME INSTRUCTOR
1 ASEM CS100 A
CS100 INFORMATICS KOJAHMETOV
2 NURLAN CS100 A-
CS101 ALGORITHMS ORISBAYEV
3 NARGIZ CS101 C
CS213 JAVA BOGDANCHIKOV
4 ALIP CS213 B
5 TOLEGEN CS100 C
6 YERNUR CS101 B

STUDENT_NAME INSTRUCTOR
NARGIZ ORISBAYEV
YERNUR ORISBAYEV

SELECT S.STUDENT_NAME, C.INSTRUCTOR

FROM STUDENT S JOIN COURSE C ON C.COURSE_ID=S.COURSE_ID

WHERE C.INSTRUCTOR='ORISBAYEV';
EXAMPLE-12 : We want to give extra money which depends on their degree.

JOIN AT UNEQUAL STATE

NAME DEGREE BASE_SALARY DEGREE_MIN DEGREE_MAX EXTRA


ASEL 1 1000 1 3 50
AYNUR 5 1500 60
4 7
BAURJAN 10 1600
8 11 70
TEACHER DEGREE

1500 60 1560

TEACHER NEW_SALARY

ASEL 1050

AYNUR 1560

BAURJAN 1670
SELECT T.NAME , T.BASE_SALARY+D.EXTRA
FROM TEACHER T, DEGREE D
WHERE T.DEGREE BETWEEN D.DEGREE_MIN AND D.DEGREE_MAX ;

SELECT T.NAME , T.BASE_SALARY+D.EXTRA


FROM TEACHER T JOIN DEGREE D
ON T.DEGREE BETWEEN D.DEGREE_MIN AND D.DEGREE_MAX ;
TASKS
1-Display the followings below.
• Empno,Ename,Dname
• Ename,Loc
2-List all salesman with their location.
3-List the name and location of employees from SALES department.
4-Who works in DALLAS ?
5-List CLERKS who work on Research Department.
6-List the number of SALESMAN that work in DALLAS.
7-Where does JAMES live ?
8-How many personals are there in Accounting Department ?
9-List the name and grade of all employees.
COURSE STUDENT
COURSE_ID COURSE_NAME INSTRUCTOR STUDENT_ID STUDENT_NAME COURSE_ID GRADE
CS100 INFORMATICS KOJAHMETOV 1 ASEM CS100 A
CS101 ALGORITHMS ORISBAYEV 2 NURLAN CS100 A-
CS213 JAVA BOGDANCHIKOV 3 NARGIZ CS101 C
4 ALIP CS213 B
5 TOLEGEN CS100 C
6 YERNUR CS101 B

10- List student_name and Course_name.

11-List student_name,course_name and grade.

12-List students who take courses from KOJAHMET.

13-List students who take ALGORITHMS.


14-HOW CAN YOU DISPLAY THIS RESULT SET USING BIN_A TABLE ONLY.

A TABLE : BIN_A
---
0
1
1) select e.empno,e.ename,d.dname,d.loc from emp e,dept d;
2) select e.ename,e.job,d.loc from emp e,dept d where e.deptno=d.deptno AND e.job='SALESMAN';
3) select e.ename,e.job,d.loc from emp e,dept d where e.deptno=d.deptno AND d.dname='SALES';
4) select e.ename,e.job,d.loc from emp e,dept d where e.deptno=d.deptno AND d.loc='DALLAS';
5) select e.ename,e.job,d.loc from emp e,dept d where e.deptno=d.deptno AND d.DNAME='RESEARCH' AND
E.JOB='CLERK';
6) select COUNT(*) from emp e,dept d where e.deptno=d.deptno AND d.LOC='DALLAS' AND E.JOB='SALESMAN';
7) select e.ename,d.loc from emp e,dept d where e.deptno=d.deptno AND E.ENAME='JAMES';
8) select COUNT(*) from emp e,dept d where e.deptno=d.deptno AND D.DNAME='ACCO
UNTING';
9) select e.ename,S.GRADE from emp e,dept d,SALGRADE S;
10)select S.STUDENT_NAME,C.COURSE_NAME FROM COURSE C,STUDENT S WHERE C.COURSE_
ID = S.COURSE_ID;
11)select S.STUDENT_NAME,C.COURSE_NAME,S.GRADE FROM COURSE C,STUDENT S WHERE C
.COURSE_ID = S.COURSE_ID;
12)select S.STUDENT_NAME,C.COURSE_NAME,C.INSTRUCTOR FROM COURSE C,STUDENT S WHERE C.COURSE_ID =
'CS100';
13)select S.STUDENT_NAME,C.COURSE_NAME,C.INSTRUCTOR FROM COURSE C,STUDENT S WH
ERE C.COURSE_ID = 'CS101';
14) SELECT Q.A, W.A, E.A, R.A FROM BIN_A Q,BIN_A W,BIN_A E,BIN_A R;

You might also like