Dbs 1 To 7 Output
Dbs 1 To 7 Output
2. ALTER:
SQL> ALTER TABLE employee ADD email varchar(100);
Table altered.
SQL> select * from employee;
EMP_ID FIRST_NAME LAST_NAME HIRE_DATE EMAIL
--------------------------------------------------------------------------------
1 john doe 02-APR-00
2 jane smith 01-JAN-20
3 david johnson 11-MAR-24
3. DROP:
DROP TABLE employee;
4. TRUNCATE:
SQL> TRUNCATE TABLE employee;
Table truncated.
5. RENAME:
SQL> RENAME employee TO employee2;
Table renamed.
6. CREATE INDEX:
CREATE INDEX idx_employee_id ON employees(employee_id);
index was created.
7. CREATE VIEW:
CREATE VIEW employee_view AS
SELECT first_name, last_name, hire_date FROM employees;
3. Check Constraint:
5. Default Constraint:
7 rows selected.
1. COUNT():
SQL> SELECT COUNT(*) FROM EMPLOYEE;
COUNT(*)
----------
7
2. SUM():
DEPARTMENT AVG_SALARY
-------------------- ----------
SALE 420000
HR 59000
IT 290000
7. HAVING:
SQL> SELECT DEPARTMENT , AVG(SALARY) AS AVG_SALARY FROM EMPLOYEE
GROUP BY DEPARTMENT HAVING AVG(SALARY) > 50000;
DEPARTMENT AVG_SALARY
-------------------- ----------
SALE 420000
HR 59000
IT 290000
8. DISTINCT:
SQL> SELECT COUNT(DISTINCT DEPARTMENT) FROM EMPLOYEE;
COUNT(DISTINCTDEPARTMENT)
3
Programe No. 4 Roll No.
Title: Create database and perform set operation and join.
Aim: Study set operation and Joins in sql
1. UNION:
SQL> SELECT id,name FROM first UNION SELECT id,name FROM second;
ID NAME
1 jack
2 harry
3 jackson
4 stepha
5 devid
ID NAME
1 jack
2 harry
3 jackson
2. INTERSECT:
SQL> SELECT id,name FROM first INTERSECT SELECT id,name FROM second;
ID NAME
4 jackson
1 jack
2 harry
Joins in SQL
1. INNER JOIN:
SQL> create table EMP(emp_id int primary key,emp_name varchar(20) ,city varchar(20),salary int, age
INT);
Table created.
SQL> select * from EMP;
EMP_ID EMP_NAME CITY SALARY AGE
6 rows selected.
SQL> select * from project;
EMP_NAME DEPARTMENT
angelina testing
robert development
christian designing
kristen development
EMP_NAME DEPARTMENT
angelina testing
robert development
christian designing
kristen development
Russell t marry
6 rows selected.
angelina testing
robert development
christian designing
kristen development
EMP_NAME DEPARTMENT
angelina testing
robert development
christian designing
Kristen development
russell
marry
5. CROSS JOIN:
SELECT employees.emp_name AS employee_name, departments.department_name
FROM employees
CROSS JOIN departments;
employee_name department_name
--------------------------------
angelina HR
angelina Finance
angelina Engineering
angelina Sales
robert HR
robert Finance
robert Engineering
robert Sales
christian HR
christian Finance
christian Engineering
christian Sales
kristen HR
kristen Finance
kristen Engineering
kristen Sales
russell HR
russell Finance
russell Engineering
russell Sales
marry HR
marry Finance
marry Engineering
marry Sales
6. SELF JOIN:
SELECT e1.emp_name AS employee_name, e2.emp_name AS supervisor_name
FROM employees e1
INNER JOIN employees e2 ON e1.supervisor_id = e2.emp_id;
employee_name supervisor_name
--------------------------------
robert angelina
christian angelina
kristen robert
russell robert
marry Christian
4.
Programe No. 5 Roll No.
Title: Create database for bookstore and solve queries.
Aim : Creation of databases Booksotre, writing SQL and PL/SQL queries to retrieve
information from the databases.
SQL> create table authors(authorID int primary key,authorname varchar(20));
Table created.
SQL> insert into authors values(1,'jane austen');
SQL> insert into authors values(2,'charles dickens');
SQL> insert into authors values(3,'mark twain');
SQL> select * from authors;
AUTHORID AUTHORNAME
---------- --------------------
1 jane austen
2 charles dickens
3 mark twain
SQL> create table books(bookID int primary key,title varchar(20),authorID int,price
decimal(10,2),publishedyear int,foreign key(authorID) references authors(authorID));
Table created.
SQL> insert into books values(1,'pride and prejudice',1,12.99,1813);
SQL> insert into books values(2,'great expectations',2,15.50,1860);
SQL> insert into books values(3,'adventures of finn',3,10.99,1884);
SQL> insert into books values(4,'sense sensibility',1,11.99,1811);
SQL> insert into books values(5,'oliver twist',2,14.00,1837);
SQL> select * from books;
BOOKID TITLE AUTHORID PRICE PUBLISHEDYEAR
---------- -------------------- ---------- ---------- -------------
1 pride and prejudice 1 12.99 1813
2 great expectations 2 15.5 1860
3 adventures of finn 3 10.99 1884
4 sense sensibility 1 11.99 1811
5 oliver twist 2 14 1837
Operations:-
1. List all authors and their books.
2. Find the total number of books published in 19th century (1800-1899)
3. Find the average price of books
4. Find the book with the highest price
5. Update book price
6. Delete a book
SQL> select a.authorname,b.title from authors a join books b ON a.authorid = b.authorid;
AUTHORNAME TITLE
-------------------- --------------------
jane austen pride and prejudice
charles dickens great expectations
mark twain adventures of finn
jane austen sense sensibility
charles dickens oliver twist
SQL> select count(*) AS totalbooks19thcentury from books where publishedyear between 1800
AND 1899;
TOTALBOOKS19THCENTURY
---------------------
5
SQL> select avg(price) AS averageprice from books;
AVERAGEPRICE
------------
13.094
SQL> select title,price from books where price = (select max(price) from books);
TITLE PRICE
-------------------- ----------
great expectations 15.5
SQL> update books set price =13.99 where bookid = 1;
1 row updated.
SQL> select * from books;
EMPLOYEES
Operations:-
1. List all employees and their departments
2. Find the average salary of employees
3. Find the highest-paid employee
4. Find employees hired in 2021
5. Update an employee's salary
6. Delete an employee
SQL> create table departments(departmentID int primary key,departmentName varchar(30) not
null);
Table created.
SQL> insert into departments values(1,'human resources');
SQL> insert into departments values(2,'finance');
SQL> insert into departments values(3,'sales');
SQL> select * from departments;
DEPARTMENTID DEPARTMENTNAME
------------ ------------------------------
1 human resources
2 finance
3 sales
SQL> CREATE TABLE EMPLOYEES (EMPLOYEEid INT PRIMARY KEY,FIRSTNAME
VARCHAR(20),LASTNAME varchar(20),DEPARTMENTID INT,SALARY
DECIMAL(10,2),HIREDATE DATE,FOREIGN KEY (DEPARTMENTID) REFERENCES
DEPARTMENTS(DEPARTMENTID));
Table created.
SQL> INSERT INTO EMPLOYEES VALUES(1,'JOHN','DOE',1,50000.00,'15-MAY-2021');
SQL> INSERT INTO EMPLOYEES VALUES(2,'JANE','SMITH',2,75000.00,'12-MARCH-2021');
SQL> INSERT INTO EMPLOYEES VALUES(3,'ALICE','JOHNSON',3,60000.00,'22-AUG-2022');
SQL> INSERT INTO EMPLOYEES VALUES(4,'BOB','BROWN',1,550000.00,'10-NOV-2019');
SQL> INSERT INTO EMPLOYEES VALUES(5,'CHARLIE','DAVIS',2,80000.00,'5-JAN-2022');
SQL> SELECT * FROM EMPLOYEES;
EMPLOYEEID FIRSTNAME LASTNAME DEPARTMENTID SALARY HIREDATE
---------- -------------------- -------------------- ------------ --------- ---------
1 JOHN DOE 1 50000 15-MAY-21
2 JANE SMITH 2 75000 12-MAR-21
3 ALICE JOHNSON 3 60000 22-AUG-22
4 BOB BROWN 1 550000 10-NOV-19
5 CHARLIE DAVIS 2 80000 05-JAN-22
• UPDATE
UPDATE Products SET Price = 1400.00, Quantity = 8 WHERE ProductID = 1;
• DELETE
DELETE FROM Products WHERE ProductID = 1;
Outputs:-
----------------------------------------------------------------------------------
| AuditID | Action | ProductID | ProductName | Price | Quantity | ChangeDate |
----------------------------------------------------------------------------------
|1 | INSERT | 1 | Laptop | 1500.00 | 10 | 2024-11-16 12:00:00 |
|2 | UPDATE | 1 | Laptop | 1400.00 | 8 | 2024-11-16 12:05:00 |
|3 | DELETE | 1 | Laptop | 1400.00 | 8 | 2024-11-16 12:10:00 |
2. DDL Triggers:
CREATE TABLE DDLAudit (AuditID INT IDENTITY(1,1) PRIMARY KEY, EventType
NVARCHAR(100), ObjectName NVARCHAR(255),ObjectType NVARCHAR(100),EventData
XML, AuditDate DATETIME DEFAULT GETDATE());
• creation
CREATE TABLE TestTable (ID INT PRIMARY KEY,Name NVARCHAR(50));
• alteration
ALTER TABLE TestTable ADD CreatedDate DATETIME;
-----------------------------------------------------------------------------------------------------------
| AuditID | EventType | ObjectName | ObjectType | EventData | AuditDate |
----------------------------------------------------------------------------------------------------------
|1 | CREATE_TABLE | TestTable | TABLE | <XML data about CREATE_TABLE event> |
2024-11-16 12:00:00 |
|2 | ALTER_TABLE | TestTable | TABLE | <XML data about ALTER_TABLE event> |
2024-11-16 12:05:00 |
|3 | DROP_TABLE | TestTable | TABLE | <XML data about DROP_TABLE event> |
2024-11-16 12:10:00 |
Cursors:
1. Implicit Cursors:
Output:-
The salary of the employee is: 50000.00
2. Explicit Cursors:
CREATE TABLE Employees (EmployeeID INT PRIMARY KEY, FirstName
NVARCHAR(50),LastName NVARCHAR(50),Salary DECIMAL(10, 2));
INSERT INTO Employees (EmployeeID, FirstName, LastName, Salary)VALUES
(1, 'John', 'Doe', 50000),
(2, 'Jane', 'Smith', 60000),
(3, 'Mike', 'Johnson', 55000);
CLOSE EmployeeCursor;
DEALLOCATE EmployeeCursor;