Professional Documents
Culture Documents
Database Management System (DBMS) : Prof. Vinay S.Nalawade
Database Management System (DBMS) : Prof. Vinay S.Nalawade
Database Management System (DBMS) : Prof. Vinay S.Nalawade
MANAGEMENT
SYSTEM [DBMS]
By
Use of DISTINCT,ALL
RENAME
Use of AS
SET OPERATIONS
•Comparison Predicates
•BETWEEN Predicate
•IN Predicate
•Outer Join
- Left Outer Join
- Right Outer Join
- Full Outer Join
Position(posting_no, skill)
Duty-allocation
- SELECT *
FROM DUTY_ALLOCATION
Employee Position
Duty-allocation
Duty-allocation
Duty-allocation
Duty-allocation
Duty-allocation
Duty-allocation
Q- Get the names & pay_rates of employees with emp_no less than
123460 whose rate of pay is more than rate of pay of employee with
emp_no greater than or equal to 123460.
Duty-allocation
- SELECT EMP_NO
FROM DUTY_ALLOCATION
WHERE DAY = 19860419 OR DAY = 19860420.
Employee Position
Duty-allocation
Duty-allocation
Duty-allocation
Q- Find the names and the rate of pay of all employes who are
allocated a duty
Duty-allocation
Q- Find the names and the rate of pay of all employees who are not
allocated duty
Duty-allocation
Duty-allocation
Duty-allocation
Duty-allocation
Q- Get list of names of employees with the skill of chef who are
assigned a duty
Duty-allocation
Company(company_name, city)
Manages(emp_name, manager_name)
Employee Company
Works Manages
- SELECT EMPLOYEE_NAME
FROM WORKS
WHERE COMPANY_NAME=‘FBC’
Employee Company
Works Manages
Q- Find the names & cities of all employees who work for FBC
Works Manages
Works Manages
Q- Find all employees in the database who live in the same cities as
the
companies for which they work.
- SELECT W.EMPLOYEE_NAME
FROM WORKS AS W, EMPLOYEE AS E, COMPANY AS C
WHERE E.EMPLOYEE_NAME=W.EMPLOYEE_NAME
AND
C.COMPANY_NAME=W.COMPANY_NAME AND
Employee Company
Works Manages
Q- Find all employees in the database who live in the same cities &
on the
same street as do their managers.
- SELECT E.EMPLOYEE_NAME
FROM EMPLOYEE AS E,EMPLOYEE AS T, MANAGES
WHERE E.EMP_NAME=MANAGES.EMP_NAME
AND E.STREET=T.STREET AND E.CITY=T.CITY
AND T.EMP_NAME=MANAGES.MANAGER_NAME;
Employee Company
Works Manages
Q- Fin all employees in the database who do not work for FBC
- (SELECT EMPLOYEE_NAME
FROM EMPLOYEE)
MINUS
(SELECT EMPLOYEE_NAME
FROM WORKS
WHERE COMPANY_NAME = ‘FBC’)
Employee Company
Works Manages
Q- Find all employees in the database who earn more than every
employee of ‘FBC’
- SELECT EMPLOYEE_NAME
FROM WORKS
WHERE SALARY > SELECT MAX(SALARY)
FROM WORKS
WHERE COMPANY_NAME = ‘FBC’)
Employee Company
Works Manages
Q- Find all employees in the database who earn more than average
salary of all employees of their company.
- SELECT T.EMPLOYEE_NAME
FROM WORKS T
WHERE SALARY > (SELECT AVG(S.SALARY)
FROM WORKS S
WHERE
T.COMPANY_NAME=S.COMPANY_NAME)
PL/ SQL
•4GL(Supports OOPS).
•Syntax:
Declaration
BEGIN
Block of stmts;
END;
/
•Demos:
SQL>
BEGIN
INSERT INTO STUDENT
VALUES(6,'Rahul');
COMMIT;
END;
/
PL/ SQL
SQL>
DECLARE
X NUMBER(4);
BEGIN
X:=56;
INSERT INTO STUDENT VALUES(X,'AMEYA');
END;
/
PL/ SQL
SQL>
DECLARE
X NUMBER(4);
BEGIN
SELECT ID INTO X
FROM STUDENT
WHERE NAME = ‘Rahul';
INSERT INTO STUDENT
VALUES(X,'Om');
END;
/
PL/ SQL
SQL>
DECLARE
X STUDENT % ROWTYPE;
BEGIN
SELECT * INTO X
FROM STUDENT
WHERE ID=56;
INSERT INTO STUDENT
VALUES(X.ID,X.NAME);
END;
/
PL/ SQL
SQL>
DECLARE X NUMBER(4):=2;
BEGIN
WHILE X<6
LOOP
INSERT INTO STUDENT VALUES(X,'GUEST');
X:=X+1;
END LOOP;
END;
/
PL/ SQL
•Demo: Loops in PL/SQL block
SQL>
DECLARE
X NUMBER(4):=2;
BEGIN
INSERT INTO STUDENT VALUES(X,'A');
GOTO ABC;
<<PQR>>
INSERT INTO STUDENT VALUES(X,'C');
X:=X+1;
<<ABC>>
INSERT INTO STUDENT VALUES(X,'B');
IF X < 4 THEN
GOTO PQR;
END IF;
END;
PL/ SQL
•Demo: PL/SQL Sub - block
SQL>
DECLARE
Z NUMBER(4):=2;
BEGIN
INSERT INTO STUDENT VALUES(Z,'BEFORE SUB');
DECLARE
A NUMBER(4):=3;
BEGIN
INSERT INTO STUDENT VALUES(A,'IN SUB');
END;
INSERT INTO STUDENT VALUES(Z,'AFTER SUB');
END;
/
PL/ SQL CURSORS
1)Explicit Cursors
- Programmer created.
•Events are
BEFORE INSERT , AFTER INSERT
BEFORE DELETE , AFTER DELETE
BEFORE UPDATE , AFTER UPDATE
DATABASE TRIGGERS
•Trigger Demo:
•Uses:
- Used to maintain Logs(audit trails).
•SYSTEM PRIVILEGES
•OBJECT PRIVILEGES
EMBEDDED SQL
•Need
•Host variables
•Advantages
•Working
•Syntax
•Advantages
•Working
•Syntax