0% found this document useful (0 votes)
14 views32 pages

dbms notes

The document provides a comprehensive overview of Oracle Database 21c, focusing on Data Definition Language (DDL) and Data Manipulation Language (DML) commands, including syntax for creating, altering, and dropping tables. It details various constraints such as primary key, unique, check, foreign key, and default constraints, along with examples of their implementation. Additionally, it covers the use of identity columns and different ways to utilize the SELECT statement in SQL.

Uploaded by

saiyadavavala123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views32 pages

dbms notes

The document provides a comprehensive overview of Oracle Database 21c, focusing on Data Definition Language (DDL) and Data Manipulation Language (DML) commands, including syntax for creating, altering, and dropping tables. It details various constraints such as primary key, unique, check, foreign key, and default constraints, along with examples of their implementation. Additionally, it covers the use of identity columns and different ways to utilize the SELECT statement in SQL.

Uploaded by

saiyadavavala123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 32

DBMS:

oracle database21c: username:system pass:root


live sql : usrname:[email protected] pass:Aravind@123

DDl: data definition language


5 DDL commands
CARD - T
Create:
--------
Create table table_name(
coulmname1 datatype
coulmname2 datatype
.................
coulmnamen datatype
)
Alter:
------
ALTER + ADD
1.When you want to add a new column to exisiting table
2.when you want to add a new constraint
syntax:
ALTER TABLE table_name ADD (col_name_datatype)
ALTER TABLE table_name ADD(col1 dt1, col2 dt2,...coln dtn) --for multiple addition

to add constraints:
ALTER TABLE table_name ADD(col1 dt1 NOT NULL, col2 dt2,...coln dtn)
EX:
ALTER TABLE table_name ADD(age INT NOT NULL, branch VARCHAR(50))

to add new constraint:


ALTER TABLE table_name
ADD CONSTRAINT constraint_name PRIMARY KEY (column_name);

ALTER+MODIFY
1.USED TO MODIFY THE EXISTING COLUMN EX: CONSTRAINTS, SIZE OF VARCHAR ETC..
SYNTAX:
ALTER TABLE table_name
MODIFY(id NOT NULL)

EX:
ALTER TABLE table_name
MODIFY(age DEFAULT 19)

ALTER + DROP:
1. DROPPING A EXISTING COULMN
2.DROPPING A EXISTING CONSTRAINTS
DROPPING ONLY ONE COLUMN

SYNTAX:
ALTER TABLE table_name
DROP COLUMN branch;

TO DROP CONSTRAINT:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

creating constraing name:


syntax:
--------
CONSTRAINT create_name_ PRIMARY KEY(coulmn_name)

..it is not possible for NOT NULL


EX;

CONSTRAINT p_k PRIMARY KEY(id),


CONSTRAINT uq_mail PRIMARY KEY(email),
CONSTRAINT age_check CHECK(age>18)

ALTER+RENAME:
---------

Rename:
------
Renaming an entire table
Drop
Truncate

DML: data manuplation language


Insert:
------
Syntax:
INSERT INTO TABLE_NAME VALUES(name, gn)(values)

CREATE TABLE students(


id int,
name varchar(50),
age int
);

INSERT INTO students VALUES(1, 'Pavan', 18);


INSERT INTO students VALUES(2, 'Kiran', 19);
INSERT INTO students VALUES(3, 'Rajesh', 20);

data integrity
--------------

CONSTRAITS:
----------

1. no two students have same roll number


2.age of a person (will never be negative)(120)

CONSTRAITS:
-----------
1.Primary key
2.NOT NULL
3.UNIQUE
4.CHECK
5.Foreign key
6.DEFAULT

1.Primary key:
--------------
a. Is a column that uniquely identifies the record
b. When you set a column to primary key, it's automatically UNIQUE and NOT NULL
c. Only one column in the table can be set to primary key
it comes with (unique + Not Null)
one primary key for one table

program:
---------
CREATE TABLE users(
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL
);

INSERT INTO users VALUES(1, 'Pavan', 20);


INSERT INTO users VALUES(2, 'ALICE', 18);
INSERT INTO users VALUES(3, 'Bob', 17);

--INSERT INTO users VALUES(1, 'Dany',20); - Fails


--Because id is primary key and 1 is already in data
DROP TABLE users;

3.UNIQUE:
----------
Make sure no duplicate entries are made under single coulmn
CREATE TABLE customers(
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE
);

INSERT INTO customers


VALUES(1, 'PAVAN', '[email protected]');

INSERT INTO customers


VALUES(2, 'dany', '[email protected]');

INSERT INTO customers


VALUES(3, 'alice', '[email protected]');

--INSERT INTO customers


--VALUES(4, 'bob', '[email protected]'); - fails
--Because id 4 & 1 have same email

INSERT INTO customers


VALUES(4, 'bob', '[email protected]');

DROP TABLE customers CASCADE CONSTRAINTS;

4.check
----------
Used to check some condition before inserting data

CREATE TABLE employees(


id INT,
name VARCHAR(50) NOT NULL,
age INT CHECK(age > 18 AND age <100)
);
INSERT INTO employees VALUES(1, 'Aravind', 19); --works
-- INSERT INTO employees VALUES(2, 'Sai', 16); --fails due to age Constraint
-- INSERT INTO employees VALUES(2, 'Sai', 101); --fails due to age Constraints

SELECT * FROM employees;

5.Foreign key:
---------------
At least two tables are included
foreign key must be unique

Synatx:
for inline
----------
child_column name datatype REFERENCES parent_table_name (columnate)

outline
-------
child_column name datatype,
FOREIN KEY name REFERENCES parent_table_name(columante)

FOREIGN KEY PROBLEM:


--------------------
CREATE TABLE customers_flipkart(
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL UNIQUE
);

INSERT INTO customers_flipkart VALUES(1, 'Alice', '[email protected]');


INSERT INTO customers_flipkart VALUES(2, 'Bob', '[email protected]');

CREATE TABLE items_flipkart(


id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL ,
price INT NOT NULL,
customer_id INT REFERENCES customers_flipkart(id) -- inline FOREIGN KEY
--outline foreign key--
--customer_id INT,
--FOREIGN KEY(customer_id) REFERENCES customers_flipkart(id) --outline
);

INSERT INTO items_flipkart VALUES(1, 'Laptop', 50000, 1);--works


INSERT INTO items_flipkart VALUES(2, 'Mouse', 1000, 2);--works
INSERT INTO items_flipkart VALUES(3, 'HardDisc', 10000, 3);--fails because there is
no 3 id in customers_flipkart table

6.DEFAULT:
----------
Not a constraint but still ensures data integrity by filling the rows with default
values when data is not provided.
CREATE TABLE cities(
name VARCHAR(50),
population INT,
continent VARCHAR(20) DEFAULT 'ASIA'
);

INSERT INTO cities (name, population)


VALUES('MUMBAI', 500000);
-- TAKES 'ASIA' AS A DEFAULT FOR CONTINENT
INSERT INTO cities
VALUES('LOS ANGELES', 1000000, 'NORTH AMERICA');

SELECT *FROM cities;


DROP TABLE cities;

Unique Constrain: A unique constraint is a database constraint that ensures all


values in a specific column (or a combination of columns) are distinct across rows
in a table. This prevents duplicate entries in those fields, helping maintain data
integrity
CREATE TABLE customers(
id INT PRIMARY KEY,
name VARCHAR(50)NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE
);
INSERT INTO customers VALUES(1,'SAI','[email protected]');
INSERT INTO customers VALUES(2,'TEJU','[email protected]');
INSERT INTO customers VALUES(3,'BOBY','[email protected]');
-- The last line does not run because of the email is unique so it does not
-- maintain the same to the columns.
DROP TABLE customers CASCADE CONSTRAINTS;

Default Constrain: Default constrain is used to add the default values for the
column when we are not pass any value.
CREATE TABLE city(
name VARCHAR(50),
population INT,
continent VARCHAR(20) DEFAULT 'Asia'
);
INSERT INTO city(name,population)VALUES('Mumbai',50000);
-- The above line takes the default value as Asia because we are not passing the
value.
-- And it looks like this INSERT INTO city(name,population)VALUES('Mumbai',50000);
INSERT INTO city VALUES('Los angles',10000,'North America');
DROP TABLE city;

Primary Constrain: We will assign the column as primary those column would not have
the same value and that column would not be null.
CREATE TABLE student(
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL
);
INSERT INTO student VALUES(1,'Alice',18);
INSERT INTO student VALUES(2,'Bob',18);
INSERT INTO student VALUES(3,'joy',19);
--INSERT INTO student VALUES(1,'Boby',25); fails
--Primary is only 1 in the table.
-- Because id is primary key and 1 is already in data The primary key is a
combination of NOTNULL and
--UNIQUE
INSERT INTO student VALUES(4,'Boby',25);
DROP TABLE student;
Rules:
1.There must only one primary key .
2.A Primary key is the combination of the NOTNULL and UNIQUE.

Foreign key:
A Foreign key must be at least Unique /Primary key.

CREATE TABLE customers(


id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100)NOT NULL UNIQUE
);
INSERT INTO customers VALUES(1,'Alice','[email protected]');
INSERT INTO customers VALUES(2,'Bob','[email protected]');

CREATE TABLE items(


id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
price INT NOT NULL,
customer_id INT REFERENCES customers(id) --Foreign Key.
--customer_id INT;
--FOREIGN KEY(customer_id) REFERENCES customers(id) Another syntax.
);
INSERT INTO items VALUES(1,'LAPTOP',50000,1);
INSERT INTO items VALUES(2,'MOUSE',500,2);
INSERT INTO items VALUES(3,'HARD DISK',5000,1);

Auto-Generation
---------------
Only one column in your table can be IDENTITY
- IDENTITY can be applied on numeric types only
- START value will be 1, INCREMENT values will be 1
CREATE TABLE student(
id INT GENERATED AS IDENTITY PRIMARY KEY,
id INT GENERATED AS IDENTITY(START WITH 500 INCREMENT BY 3) PRIMARY KEY,
name VARCHAR(50) NOT NULL
);
INSERT INTO student(name) VALUES('Alice');
INSERT INTO student(name) VALUES('Bob');
INSERT INTO student(name) VALUES('Charlie');

SELECT * FROM student;

Different ways of using SELECT statement:


-----------------------------------------
-- Creating the student table
CREATE TABLE student(
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
enrollment_date DATE,
branch VARCHAR(50),
college VARCHAR(50),
fee INT,
email VARCHAR(100)
);

DROP TABLE student;


ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
-- CSE, IoT, IT, AIML, DS, ECE, EEE
-- 05, 49, 12, 42, 44, 04, 02

-- Insert statements
INSERT INTO student VALUES (1, 'Alice', 20, '2022-08-15', 'CSE', 'AEC', 50000,
'[email protected]');
INSERT INTO student VALUES (2, 'Bob', NULL, '2023-01-12', 'IT', 'ACET', 75000,
NULL);
INSERT INTO student VALUES (3, 'Charlie', 22, NULL, 'AIML', 'ACOE', NULL,
'[email protected]');
INSERT INTO student VALUES (4, 'David', 19, '2023-05-20', NULL, 'AEC', 60000,
'[email protected]');
INSERT INTO student VALUES (5, 'Eva', NULL, '2022-09-01', 'DS', NULL, 55000, NULL);
INSERT INTO student VALUES (6, 'Frank', 21, NULL, 'IoT', 'ACET', NULL,
'[email protected]');
INSERT INTO student VALUES (7, 'Grace', 18, '2023-07-15', 'ECE', NULL, 70000,
'[email protected]');
INSERT INTO student VALUES (8, 'Hank', NULL, '2022-06-10', 'EEE', 'AEC', 65000,
NULL);
INSERT INTO student VALUES (9, 'Ivy', 20, NULL, NULL, 'ACOE', NULL,
'[email protected]');
INSERT INTO student VALUES (10, 'Jack', 23, '2023-02-05', 'CSE', NULL, 85000,
'[email protected]');

INSERT INTO student VALUES (11, 'Kate', 17, '2022-11-20', 'IT', 'ACET', 90000,
'[email protected]');
INSERT INTO student VALUES (12, 'Leo', NULL, NULL, 'AIML', 'AEC', 45000, NULL);
INSERT INTO student VALUES (13, 'Mia', 24, '2023-03-18', 'DS', NULL, NULL,
'[email protected]');
INSERT INTO student VALUES (14, 'Nina', 19, NULL, 'IoT', 'ACOE', 35000, NULL);
INSERT INTO student VALUES (15, 'Oscar', NULL, '2022-10-25', 'ECE', 'AEC', 50000,
'[email protected]');
INSERT INTO student VALUES (16, 'Paul', 20, NULL, 'EEE', 'ACET', NULL,
'[email protected]');
INSERT INTO student VALUES (17, 'Quinn', 22, '2023-04-12', 'CSE', 'ACOE', 75000,
NULL);
INSERT INTO student VALUES (18, 'Rachel', 18, NULL, 'IT', NULL, 60000,
'[email protected]');
INSERT INTO student VALUES (19, 'Sam', NULL, '2023-06-08', 'AIML', 'AEC', 40000,
NULL);
INSERT INTO student VALUES (20, 'Tina', 21, NULL, 'DS', 'ACET', NULL,
'[email protected]');

INSERT INTO student VALUES (21, 'Uma', 25, '2022-07-15', 'IoT', 'ACOE', 50000,
'[email protected]');
INSERT INTO student VALUES (22, 'Victor', NULL, '2023-08-10', 'ECE', 'AEC', 70000,
NULL);
INSERT INTO student VALUES (23, 'Wendy', 19, NULL, 'EEE', 'ACET', NULL,
'[email protected]');
INSERT INTO student VALUES (24, 'Xander', 23, '2022-09-20', NULL, 'ACOE', 60000,
'[email protected]');
INSERT INTO student VALUES (25, 'Yara', NULL, NULL, 'CSE', NULL, 80000, NULL);
INSERT INTO student VALUES (26, 'Zane', 17, '2023-01-15', 'IT', 'AEC', NULL,
'[email protected]');
INSERT INTO student VALUES (27, 'Aaron', 20, NULL, 'AIML', 'ACET', 30000,
'[email protected]');
INSERT INTO student VALUES (28, 'Bella', NULL, '2023-05-25', 'DS', 'ACOE', 55000,
NULL);
INSERT INTO student VALUES (29, 'Caleb', 22, NULL, 'IoT', NULL, 75000,
'[email protected]');
INSERT INTO student VALUES (30, 'Diana', 18, '2023-04-18', 'ECE', 'AEC', NULL,
'[email protected]');

INSERT INTO student VALUES (31, 'Ethan', NULL, '2022-12-15', 'EEE', 'ACET', 65000,
NULL);
INSERT INTO student VALUES (32, 'Fiona', 21, NULL, NULL, 'ACOE', 45000,
'[email protected]');
INSERT INTO student VALUES (33, 'George', 24, '2023-02-28', 'CSE', 'AEC', NULL,
NULL);
INSERT INTO student VALUES (34, 'Holly', 19, NULL, 'IT', 'ACET', 90000,
'[email protected]');
INSERT INTO student VALUES (35, 'Ian', NULL, '2022-08-22', 'AIML', NULL, 50000,
'[email protected]');
INSERT INTO student VALUES (36, 'Jill', 20, NULL, 'DS', 'ACOE', NULL, NULL);
INSERT INTO student VALUES (37, 'Karl', 23, '2023-06-12', 'IoT', 'AEC', 75000,
'[email protected]');
INSERT INTO student VALUES (38, 'Lily', 18, NULL, 'ECE', 'ACET', 55000, NULL);
INSERT INTO student VALUES (39, 'Mark', NULL, '2022-10-10', 'EEE', NULL, NULL,
'[email protected]');
INSERT INTO student VALUES (40, 'Nora', 22, NULL, 'CSE', 'ACOE', 80000, NULL);

INSERT INTO student VALUES (41, 'Olivia', 25, '2023-03-15', NULL, 'AEC', 60000,
'[email protected]');
INSERT INTO student VALUES (42, 'Patrick', NULL, NULL, 'IT', 'ACET', 45000,
'[email protected]');
INSERT INTO student VALUES (43, 'Queenie', 19, '2022-11-10', 'AIML', 'ACOE', NULL,
NULL);
INSERT INTO student VALUES (44, 'Ray', 20, NULL, 'DS', 'AEC', 55000,
'[email protected]');
INSERT INTO student VALUES (45, 'Sophia', NULL, '2023-05-18', 'IoT', NULL, NULL,
'[email protected]');
INSERT INTO student VALUES (46, 'Tom', 23, NULL, 'ECE', 'ACET', 90000, NULL);
INSERT INTO student VALUES (47, 'Ursula', 18, '2022-09-15', 'EEE', 'ACOE', 40000,
NULL);
INSERT INTO student VALUES (48, 'Victor', NULL, NULL, 'CSE', NULL, 70000,
'[email protected]');
INSERT INTO student VALUES (49, 'Willow', 21, '2023-08-22', 'IT', 'AEC', NULL,
'[email protected]');
INSERT INTO student VALUES (50, 'Xena', 17, NULL, 'AIML', 'ACET', 30000, NULL);

-- SELECT
SELECT * FROM table_name
SELECT * FROM student;

--SELECT field1, field2, ... FROM table_name


SELECT id, name, enrollment_date FROM student;

-- SELECT with a dummy column


SELECT id, name, age FROM student;
-- SELECT col1, col2, dummy column
SELECT id, name , age, age + 5 FROM student;

SELECT id, name , age, age + 5 AS new_age FROM student;

-- SELECT + WHERE clause (For filtering)


SELECT id, name, age, branch FROM student
WHERE branch = 'CSE';
-- SELECt + Where (with multiple conditions)
SELECT id, name, age, college, branch FROM student
WHERE branch = 'IoT' AND college = 'ACET';

SELECT id, name, enrollment_date FROM student


WHERE enrollment_date > TO_DATE('01-01-2020', 'DD-MM-YYYY');

-- CASE
SELECT id, name, branch,
CASE
WHEN branch = 'CSE' THEN '05'
WHEN branch = 'IT' THEN '12'
WHEN branch = 'AIML' THEN '42'
WHEN branch = 'IoT' THEN '49'
WHEN branch = 'DS' THEN '44'
WHEN branch = 'ECE' THEN '04'
WHEN branch = 'EEE' THEN '02'
ELSE 'No branch'
END AS branch_id
FROM student WHERE branch IS NOT NULL;

UPDATE : It is used to update the values of the columns.


--------
WHERE : It is used to filter the rows and columns in a table.
------
CREATE TABLE employee (
id NUMBER(5) PRIMARY KEY,
name VARCHAR2(50),
age INT,
gender VARCHAR2(10),
department VARCHAR2(20),
salary INT,
date_of_joining DATE,
email VARCHAR2(100)
);
INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (1, 'John Doe', 29, 'Male', 'HR', 55000, TO_DATE('2021-04-15', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (2, 'Jane Smith', 34, 'Female', 'SW', 62000, TO_DATE('2019-03-12', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (3, 'Sam Williams', NULL, NULL, 'Operations', 73000, TO_DATE('2020-06-25',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (4, 'Emily Brown', 30, 'Female', 'Testing', 67000, TO_DATE('2018-07-10',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (5, 'David Johnson', 32, NULL, 'HR', 75000, TO_DATE('2021-01-18', 'YYYY-MM-
DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (6, 'Sarah Lee', 27, 'Female', 'SW', 54000, TO_DATE('2022-09-05', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (7, 'Michael Davis', NULL, NULL, 'Operations', 82000, TO_DATE('2018-12-20',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (8, 'Olivia Wilson', 25, 'Female', 'Testing', 66000, TO_DATE('2020-07-15',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (9, 'James Martinez', 40, 'Male', NULL, 59000, TO_DATE('2015-01-05', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (10, 'Sophia Taylor', 26, 'Female', 'SW', 70000, TO_DATE('2021-03-09',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (11, 'William Anderson', 33, 'Male', 'Operations', NULL, TO_DATE('2021-06-
18', 'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (12, 'Lucas Thomas', 29, 'Male', 'Testing', 63000, TO_DATE('2020-02-25',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (13, 'Amelia Garcia', 31, 'Female', 'HR', 50000, TO_DATE('2019-11-05',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (14, 'Ethan White', 35, 'Male', NULL, NULL, TO_DATE('2020-03-25', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (15, 'Isabella Martinez', 32, 'Female', 'Testing', 64000, TO_DATE('2020-08-
30', 'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (16, 'Daniel Lee', 28, 'Male', NULL, NULL, TO_DATE('2022-05-17', 'YYYY-MM-
DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (17, 'Charlotte Harris', 31, 'Female', 'Operations', 56000, NULL,
'[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (18, 'Henry Clark', 40, 'Male', 'HR', 80000, TO_DATE('2020-03-25', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (19, 'Mia Young', 26, 'Female', 'SW', 60000, TO_DATE('2022-11-10', 'YYYY-MM-
DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (20, 'Jacob Scott', 37, 'Male', 'Testing', 71000, TO_DATE('2018-04-05',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (21, 'Ella Adams', 27, 'Female', NULL, 54000, TO_DATE('2022-07-19', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (22, 'Aiden Robinson', 30, 'Male', 'SW', NULL, TO_DATE('2021-02-28', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (23, 'Lily Carter', 33, NULL, 'Operations', 75000, NULL,
'[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (24, 'Benjamin Lewis', 37, NULL, 'Testing', 69000, TO_DATE('2020-09-10',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (25, 'Chloe Walker', 31, 'Female', 'HR', 64000, TO_DATE('2019-04-22', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (26, 'Matthew Hall', NULL, NULL, 'SW', 72000, NULL,
'[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (27, 'Charlotte King', 32, 'Female', 'Operations', 78000, TO_DATE('2021-11-
30', 'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (28, 'Elijah Allen', 26, 'Male', 'HR', 58000, TO_DATE('2021-02-01', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (29, 'Zoe Wright', 29, 'Female', 'Testing', 71000, TO_DATE('2020-09-14',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (30, 'Alexander Green', 41, 'Male', 'SW', 83000, NULL,
'[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (31, 'Ava Mitchell', 26, 'Female', 'HR', 57000, TO_DATE('2022-08-19', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (32, 'Oliver Martin', NULL, 'Male', 'SW', 66000, TO_DATE('2021-01-11',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (33, 'Amos Turner', 28, 'Male', NULL, NULL, TO_DATE('2022-04-22', 'YYYY-MM-
DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (34, 'Ruby Harris', 30, 'Female', 'Testing', 71000, NULL,
'[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (35, 'Jack Carter', NULL, 'Male', 'SW', 75000, TO_DATE('2021-03-17', 'YYYY-
MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (36, 'Liam Allen', 37, 'Male', 'Operations', 73000, TO_DATE('2022-07-10',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (37, 'Sophie Hill', 30, 'Female', 'HR', 56000, TO_DATE('2019-10-03', 'YYYY-
MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (38, 'Charlie Scott', 29, 'Male', 'SW', 68000, TO_DATE('2021-05-09', 'YYYY-
MM-DD'), '[email protected]');
INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (39, 'Alice Young', 32, 'Female', 'Testing', NULL, TO_DATE('2020-12-25',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (40, 'Daniel Young', 35, 'Male', 'Operations', 70000, TO_DATE('2021-11-11',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (41, 'Megan Mitchell', 28, 'Female', NULL, 55000, TO_DATE('2022-06-15',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (42, 'Lucas Rodriguez', 30, 'Male', NULL, 80000, TO_DATE('2021-01-20',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (43, 'Sophia Hernandez', 33, 'Female', 'HR', 75000, NULL,
'[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (44, 'Evan Moore', 40, 'Male', 'Operations', 85000, TO_DATE('2018-09-21',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (45, 'Mason King', 35, 'Male', 'Testing', 67000, TO_DATE('2020-04-10',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (46, 'Jack Taylor', NULL, 'Male', NULL, 60000, NULL,
'[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (47, 'Grace Brown', 34, 'Female', 'SW', 69000, TO_DATE('2019-06-08', 'YYYY-
MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (48, 'Benjamin Green', 38, NULL, 'Testing', 72000, TO_DATE('2021-02-10',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (49, 'Mia Robinson', NULL, 'Female', 'HR', 71000, NULL,
'[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (50, 'Noah Wright', 31, 'Male', 'Operations', NULL, TO_DATE('2020-08-23',
'YYYY-MM-DD'), '[email protected]');
INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (51, 'Lucas Walker', 29, 'Male', 'HR', 35000, TO_DATE('2021-11-05', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (52, 'Megan Clark', 33, 'Female', 'Operations', 50000, TO_DATE('2019-02-15',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (53, 'James Turner', 40, 'Male', 'Testing', 55000, TO_DATE('2015-07-25',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (54, 'Ava Martinez', 26, 'Female', 'SW', 48000, TO_DATE('2020-01-20', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (55, 'Liam Johnson', 38, 'Male', NULL, 60000, TO_DATE('2022-08-05', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (56, 'Olivia Wright', 32, 'Female', 'HR', 42000, TO_DATE('2020-09-15',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (57, 'Mason Lee', 26, NULL, 'Operations', 35000, TO_DATE('2021-06-12',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (58, 'Sophia Young', 29, 'Female', 'SW', 55000, TO_DATE('2017-05-30', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (59, 'Jacob Wilson', 34, 'Male', 'HR', 50000, TO_DATE('2020-01-10', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (60, 'Chloe Scott', 33, 'Female', 'Testing', 45000, TO_DATE('2021-02-25',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (61, 'William Harris', 38, 'Male', NULL, 75000, TO_DATE('2016-06-17', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (62, 'Amelia Moore', 30, 'Female', 'Operations', 55000, TO_DATE('2019-03-
30', 'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (63, 'Henry Green', 35, 'Male', 'SW', 70000, TO_DATE('2018-11-22', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (64, 'Lily Adams', 29, NULL, 'HR', 41000, TO_DATE('2020-12-04', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (65, 'Noah Carter', 41, 'Male', 'Testing', 60000, TO_DATE('2015-09-12',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (66, 'Amos King', 27, 'Male', 'Operations', 50000, TO_DATE('2021-07-29',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (67, 'Zoe Evans', 32, 'Female', 'SW', 65000, TO_DATE('2021-02-13', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (68, 'Jacob Thomas', 28, 'Male', 'HR', 48000, TO_DATE('2021-06-06', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (69, 'Mia Jackson', 30, 'Female', 'Operations', 52000, TO_DATE('2022-02-10',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (70, 'Jack Davis', 36, 'Male', 'Testing', 35000, TO_DATE('2014-08-22',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (71, 'Ava Robinson', 27, 'Female', 'SW', 62000, TO_DATE('2021-10-19', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (72, 'Benjamin Walker', 40, 'Male', 'Operations', 68000, TO_DATE('2019-11-
07', 'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (73, 'Chloe Lee', 31, 'Female', 'HR', 56000, TO_DATE('2018-12-11', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (74, 'Sophie Scott', 32, 'Female', 'Testing', 49000, TO_DATE('2020-03-01',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (75, 'Oliver Wilson', 33, 'Male', 'Operations', 63000, TO_DATE('2021-08-24',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (76, 'Aiden Green', 30, NULL, 'HR', 47000, TO_DATE('2022-10-01', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (77, 'Emma Thomas', 29, 'Female', 'Testing', 50000, TO_DATE('2019-05-30',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (78, 'Lucas Robinson', 30, 'Male', 'SW', 55000, TO_DATE('2022-03-18', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (79, 'Elijah White', 32, 'Male', 'HR', 49000, TO_DATE('2021-09-10', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (80, 'Oliver Harris', 28, 'Male', 'Operations', 55000, TO_DATE('2018-05-20',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (81, 'Emily Walker', 35, 'Female', 'Testing', 60000, TO_DATE('2020-06-01',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (82, 'Joshua Evans', 27, 'Male', 'SW', 58000, TO_DATE('2021-04-04', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (83, 'Isabella Lee', 28, 'Female', 'Operations', 45000, TO_DATE('2022-11-
30', 'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (84, 'Zoe Walker', 31, 'Female', 'Testing', 62000, TO_DATE('2021-01-12',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (85, 'Jack Harris', 40, 'Male', 'SW', 72000, TO_DATE('2015-04-20', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (86, 'Emily Mitchell', 29, 'Female', 'Operations', 53000, TO_DATE('2019-09-
11', 'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (87, 'Ava Wilson', 35, 'Female', 'Testing', 65000, TO_DATE('2020-04-16',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (88, 'Jacob Lewis', 33, 'Male', 'HR', 54000, TO_DATE('2021-05-15', 'YYYY-MM-
DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (89, 'Emma Turner', 36, 'Female', 'Operations', 69000, TO_DATE('2020-03-01',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (90, 'Ethan Scott', 28, 'Male', 'SW', 55000, TO_DATE('2021-07-12', 'YYYY-MM-
DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (91, 'Charlotte Anderson', 29, 'Female', 'HR', 35000, TO_DATE('2022-05-12',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (92, 'Liam Carter', 35, 'Male', 'SW', 48000, TO_DATE('2020-10-01', 'YYYY-MM-
DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (93, 'Mason Harris', 40, 'Male', 'Testing', 62000, TO_DATE('2018-04-15',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (94, 'Olivia Wilson', 30, 'Female', 'Operations', 53000, TO_DATE('2019-02-
25', 'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (95, 'Benjamin Walker', 28, 'Male', 'SW', 47000, TO_DATE('2021-07-05',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (96, 'Sophia Lee', 33, 'Female', 'HR', 42000, TO_DATE('2019-11-13', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (97, 'Lucas Evans', 30, NULL, 'Testing', 52000, TO_DATE('2021-06-22', 'YYYY-
MM-DD'), '[email protected]');
INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (98, 'Lily Green', 34, 'Female', 'Operations', 65000, TO_DATE('2017-08-30',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (99, 'Henry Scott', 31, 'Male', 'Testing', 54000, TO_DATE('2020-03-17',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (100, 'Chloe Brown', 27, 'Female', 'HR', 48000, TO_DATE('2021-05-10', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (101, 'James Johnson', 38, 'Male', 'SW', 70000, TO_DATE('2015-09-18', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (102, 'Ava Robinson', 30, NULL, 'Testing', 46000, TO_DATE('2020-02-03',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (103, 'Elijah Turner', 35, 'Male', 'Operations', 55000, TO_DATE('2021-08-
09', 'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (104, 'Isabella Martinez', 32, 'Female', 'HR', 53000, TO_DATE('2021-06-22',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (105, 'Oliver Thomas', 27, 'Male', 'SW', 58000, TO_DATE('2019-01-25', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (106, 'Sophia Wilson', 33, 'Female', NULL, 52000, TO_DATE('2018-11-10',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (107, 'Aiden Clark', 29, NULL, 'Operations', 39000, TO_DATE('2019-07-19',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (108, 'Madison Wright', 32, 'Female', 'HR', 48000, TO_DATE('2021-09-04',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (109, 'Samuel Rodriguez', 30, NULL, 'SW', 60000, TO_DATE('2020-12-13',
'YYYY-MM-DD'), NULL);
INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (110, 'Liam Davis', 34, 'Male', 'Testing', 48000, TO_DATE('2021-03-27',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (111, 'Ella Harris', 26, 'Female', 'Operations', 46000, TO_DATE('2021-01-
15', 'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (112, 'Isaac Nelson', 40, 'Male', 'SW', 55000, TO_DATE('2017-05-22', 'YYYY-
MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (113, 'Grace Martinez', 36, 'Female', 'HR', 61000, TO_DATE('2015-10-13',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (114, 'Benjamin Carter', 28, NULL, 'Testing', 41000, TO_DATE('2020-08-11',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (115, 'Mia Robinson', 31, 'Female', 'HR', 58000, TO_DATE('2021-02-19',
'YYYY-MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (116, 'Joshua Lee', 29, 'Male', 'SW', 49000, TO_DATE('2019-07-30', 'YYYY-MM-
DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (117, 'Chloe Davis', 27, 'Female', 'Operations', 45000, TO_DATE('2022-06-
17', 'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (118, 'Jackson Harris', 33, 'Male', 'Testing', 50000, TO_DATE('2021-09-09',
'YYYY-MM-DD'), NULL);

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (119, 'Zoey Miller', 35, 'Female', NULL, 59000, TO_DATE('2018-12-01', 'YYYY-
MM-DD'), '[email protected]');

INSERT INTO employee (id, name, age, gender, department, salary, date_of_joining,
email)
VALUES (120, 'Nathan Moore', 32, NULL, 'SW', 62000, TO_DATE('2020-04-13', 'YYYY-MM-
DD'), '[email protected]');

SELECT id,name,date_of_joining FROM employee;


SELECT name,age,salary,salary+25000 AS new_salary FROM employee;
SELECT name,department,gender FROM employee WHERE department='HR';
SELECT id,name,date_of_joining,department,gender FROM employee WHERE
gender='Female'and department='Operations';
SELECT name,salary,department FROM employee WHERE gender='Male' AND department='SW'
OR department='Testing' AND salary>50000;
SELECT id,name,email,date_of_joining FROM employee WHERE date_of_joining IS NOT
NULL;
SELECT * FROM employee WHERE department = 'SW' AND date_of_joining > TO_DATE('01-
01-2020', 'DD-MM-YYYY');
SELECT id,name,email,department FROM employee WHERE email IS NULL AND department IS
NULL;
SELECT id,name,gender,department,salary,date_of_joining FROM employee WHERE gender
='Male' AND department ='Operations' AND salary<=40000 and date_of_joining <
TO_DATE('15-07-2021','DD-MM-YYYY');
SELECT name,department,email,gender FROM employee WHERE gender='Female' AND
department='SW' AND salary IS NULL;
SELECT name,age,52-age AS years_of_service_left FROM employee WHERE gender='Female'
AND age IS NOT NULL ;
SELECT id,name,salary,
CASE
WHEN salary>=75000 THEN 'High Paid'
WHEN salary>=50000 AND salary<75000 THEN 'Medium Paid'
WHEN salary<50000 THEN 'Low Paid'
END AS pay_bucket
FROM employee;

UPDATE employee
SET age=34 WHERE id =1;
SELECT * FROM employee;

UPDATE employee
SET department ='SWE' WHERE department='SW';

UPDATE employee
SET salary=salary+2000
WHERE department='Operations' AND salary<40000;

DISTINCT :
----------
The DISTINCT keyword in SQL is used to remove duplicate values from the result set
of a SELECT statement. It ensures that only unique values are returned.

SELECT DISTINCT department FROM employee;


SELECT DISTINCT age FROM employee;
SELECT DISTINCT department,age FROM employee;
SELECT age FROM employee
FETCH FIRST 2 ROWS ONLY;
SELECT age,department FROM employee
WHERE department IN ('HR','Testing');
SELECT name FROM employee
ORDER BY
------------
--Used to sort the data in either Ascending or Descending Order based on a column
--or multiple columns
--SELECT id,name,age FROM employee ORDER BY age;
--The above query displays the records by performing a sorting on ascending order
--SELECT col,co2,...FROM table_name ORDER BY column [ASC|DESC]
--sorting by default takes place in ASCENDING order
--If you want to perform descinding order Mention DESC keyword
--In Ascending order NULLS are sorted at last
--In Descending order NULLS are sorted first
SELECT id,name,age
FROM employee
ORDER BY age;

SELECT id,name,age
FROM employee
ORDER BY age,name;

SELECT id,name,age
FROM employee
ORDER BY age ASC,name DESC;

SELECT id,name,salary
FROM employee
ORDER BY salary DESC
NULLS LAST;

--ORDER BY + WHERE -->SELECT FROM WHERE ORDER BY


--HR,Descending order of age
SELECT id,name,age,department
FROM employee
WHERE department ='HR'
ORDER BY age,name;

Aggregations Function:
------------------------
--Def: ("Grouping thing in terms of columns not in rows")
--(=> Max(),Min(),Sum(),Avg(),Count() <=)
--The main use of Aggregations are to find the minimum value maximum,count value
from the table.

--Aggregate Functions
--Count()-->Count numeber of rows
--Count(*)-->Counts all the rows in the table
--Count(columnname)-->Count of all the rows in that particular column

Select Count(*)
From employee;

--Count() on a column
Select count(age)
From employee;

--Count + where
Select count(salary)
From employee
Where salary>55000;

--Sum()
--Sum can be only applied on numeric types

Select Sum(age)
From employee
Where department = 'SW';

--Avg()
--Finds out the average of a column
--Restricted for numeric values only

Select Avg(Salary)
From employee;

--Max() & Min()


--Numeric, Character type, Date
Select Max(age), Max(name), Max(date_of_joining)
From employee;
Select Min(age), Min(name), Min(date_of_joining)
From employee;

Group by:
--------
--Used to group data based on one column or more columns
--once the groups are formed ,you can perfrorm Aggregations on groups
--Rules to follow when written group by
--1. Any column that is used in SELECT clause ,must either a part of group
--by or Aggregated(Used inside aggregation funs)
--GROUP BY Exapmle
--group all the departments and finding how many employee are working in each
department
SELECT department,COUNT(department)
FROM employee
GROUP BY department;

SELECT department,COUNT(*)
FROM employee
GROUP BY department;

SELECT gender,COUNT(gender)
FROM employee
GROUP BY gender;

SELECT gender,COUNT(*)
FROM employee
GROUP BY gender;
SELECT age,count(*)
FROM employee
GROUP BY age;

SELECT department,ROUND(AVG(age),2)
FROM employee
GROUP BY department;

SELECT department,MAX(salary),MIN(salary),SUM(salary)
FROM employee
GROUP BY department;

--GROUP BY+Order by
--fIND the maximum salary from each department
--And arrange them in decending order of maximum salary
SELECT department,MAX(salary)
FROM employee
GROUP BY department
ORDER BY MAX(salary) DESC;

SELECT gender,avg(age) AS avg_age


FROM employee
GROUP BY gender
ORDER BY ROUND(avg(age),2);

SELECT gender,avg(age) AS avg_age


FROM employee
GROUP BY gender
ORDER BY avg_age;

--GROUP BY+WHERE
SELECT department,COUNT(*)
FROM employee
WHERE date_of_joining > TO_DATE('01-09-2020','DD-MM-YYYY')
GROUP BY department
ORDER BY COUNT(*) DESC;

--HAVING CLAUSE
--Having class is to filter groups formed by Group by
--You can't use alias given in the SELECT statement in Having.

select department,MAX(salary)
FROM employee
GROUP BY department
HAVING MAX(salary)>80000;

tasks:
------
--1.From employee GRoup by -->From GROUPS based on department
--2.calculate aggregations
--3.Having
Order of correct syntax when you almost all basic clauses
...............................................................
--1. SELECT,2.FROM,3.WHERE,4.GROUP BY,5.HAVING ,6.ORDER BY
SELECT department,COUNT(*) AS dept_wise_count
FROM employee
WHERE date_of_joining > TO_DATE('01-09-2020','DD-MM-YYYY')
GROUP BY department
HAVING COUNT(*) > 13
ORDER BY dept_wise_count DESC takes place
--4.Select statement gets executed with aliases (if any)
select department,MAX(salary)
FROM employee
GROUP BY department
HAVING MAX(salary)>80000;
;

--The count of employee wprking under different department and age combinations
SELECT department,age,COUNT(*)
FROM employee
GROUP BY department,age;

SELECT department,salary,COUNT(*)
FROM employee
GROUP BY department,salary;

SELECT department,age,gender,salary,COUNT(*)
FROM employee
GROUP BY department,age,gender,salary;

JOIN:A JOIN in SQL is used to combine rows from two or more tables based on a
related column.
-----

CREATE TABLE course(


id INT,
name VARCHAR(50),
duration INT,
price INT
);
CREATE TABLE student(
id INT,
name VARCHAR(50),
college VARCHAR(10),
branch VARCHAR(10),
course_id INT
);
INSERT INTO course VALUES(57,'C Language',180,6000);
INSERT INTO course VALUES(63,'Java',220,7000);
INSERT INTO course VALUES(91,'Pyton',220,8000);

INSERT INTO student VALUES(1,'sai','AEC','IT',57);


INSERT INTO student VALUES(2,'saiTeja','AEC','CSE',63);
INSERT INTO student VALUES(3,'mouli','AEC','EEE',91);
INSERT INTO student VALUES(1,'Dannie','Acoe','IT',47);
SELECT * FROM student;
--Task: Print the student id,name,course_id,course_name of the student enrolled in
it?
--Inner join (join means Inner join)
--Compares two column values from 2 different tables and only joins those records
that are matching
SELECT *
FROM
student
JOIN course
ON(student.course_id=course.id);

SELECT student.id,student.name,course.id,course.name
FROM
student
JOIN course
ON(student.course_id=course.id);

SELECT student.id,student.name,course.id,course.name
FROM
student
JOIN course
ON(student.course_id=course.id);
WHERE course.id = 57;

ASSIGNMENT:
-----------
CREATE TABLE users(
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
mail VARCHAR(100) NOT NULL
);

CREATE TABLE contests(


id INT PRIMARY KEY,
name VARCHAR(50),
date_of_conduction DATE
);

CREATE TABLE challenges(


id INT PRIMARY KEY,
contest_id INT REFERENCES contests(id),
name VARCHAR(50) NOT NULL,
score INT NOT NULL
);
-- Associative Entity
CREATE TABLE submissions(
id INT PRIMARY KEY,
challenge_id INT REFERENCES challenges(id),
user_id INT REFERENCES users(id),
contest_id INT REFERENCES contests(id),
submitted_on DATE,
result_ INT
);

INSERT INTO users (id, name, mail) VALUES (1, 'Alice', '[email protected]');
INSERT INTO users (id, name, mail) VALUES (2, 'Bob', '[email protected]');
INSERT INTO users (id, name, mail) VALUES (3, 'Charlie', '[email protected]');
INSERT INTO users (id, name, mail) VALUES (4, 'David', '[email protected]');
INSERT INTO users (id, name, mail) VALUES (5, 'Eve', '[email protected]');
INSERT INTO users (id, name, mail) VALUES (6, 'Frank', '[email protected]');
INSERT INTO users (id, name, mail) VALUES (7, 'Grace', '[email protected]');
INSERT INTO users (id, name, mail) VALUES (8, 'Hannah', '[email protected]');
INSERT INTO users (id, name, mail) VALUES (9, 'Ian', '[email protected]');
INSERT INTO users (id, name, mail) VALUES (10, 'Jack', '[email protected]');

INSERT INTO contests (id, name, date_of_conduction) VALUES (101, 'Code Sprint',
TO_DATE('2025-01-10', 'YYYY-MM-DD'));
INSERT INTO contests (id, name, date_of_conduction) VALUES (102, 'Hackathon',
TO_DATE('2025-01-15', 'YYYY-MM-DD'));
INSERT INTO contests (id, name, date_of_conduction) VALUES (103, 'Winter Coding
Challenge', TO_DATE('2025-01-20', 'YYYY-MM-DD'));
INSERT INTO contests (id, name, date_of_conduction) VALUES (104, 'Spring Cup',
TO_DATE('2025-02-05', 'YYYY-MM-DD'));
INSERT INTO contests (id, name, date_of_conduction) VALUES (105, 'Summer Marathon',
TO_DATE('2025-03-15', 'YYYY-MM-DD'));
INSERT INTO contests (id, name, date_of_conduction) VALUES (106, 'Fall
Championship', TO_DATE('2025-04-25', 'YYYY-MM-DD'));
INSERT INTO contests (id, name, date_of_conduction) VALUES (107, 'Open League',
TO_DATE('2025-05-10', 'YYYY-MM-DD'));
INSERT INTO contests (id, name, date_of_conduction) VALUES (108, 'Elite Challenge',
TO_DATE('2025-06-01', 'YYYY-MM-DD'));
INSERT INTO contests (id, name, date_of_conduction) VALUES (109, 'Pro Cup',
TO_DATE('2025-06-15', 'YYYY-MM-DD'));
INSERT INTO contests (id, name, date_of_conduction) VALUES (110, 'Grand Finale',
TO_DATE('2025-07-01', 'YYYY-MM-DD'));

INSERT INTO challenges (id, contest_id, name, score) VALUES (201, 101, 'Easy
Challenge', 50);
INSERT INTO challenges (id, contest_id, name, score) VALUES (202, 101, 'Medium
Challenge', 100);
INSERT INTO challenges (id, contest_id, name, score) VALUES (203, 102, 'Hard
Challenge', 150);
INSERT INTO challenges (id, contest_id, name, score) VALUES (204, 103, 'Basic
Algorithms', 30);
INSERT INTO challenges (id, contest_id, name, score) VALUES (205, 104, 'Data
Structures', 80);
INSERT INTO challenges (id, contest_id, name, score) VALUES (206, 105, 'Graph
Theory', 120);
INSERT INTO challenges (id, contest_id, name, score) VALUES (207, 106, 'Dynamic
Programming', 200);
INSERT INTO challenges (id, contest_id, name, score) VALUES (208, 107, 'Math
Puzzles', 60);
INSERT INTO challenges (id, contest_id, name, score) VALUES (209, 108, 'Advanced
Coding', 250);
INSERT INTO challenges (id, contest_id, name, score) VALUES (210, 109, 'System
Design', 300);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (301, 201, 1, 101, TO_DATE('2025-01-11', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (302, 202, 2, 101, TO_DATE('2025-01-12', 'YYYY-MM-DD'), 0);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (303, 203, 3, 102, TO_DATE('2025-01-16', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (304, 204, 4, 103, TO_DATE('2025-01-21', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (305, 205, 5, 104, TO_DATE('2025-02-06', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (306, 206, 6, 105, TO_DATE('2025-03-16', 'YYYY-MM-DD'), 0);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (307, 207, 7, 106, TO_DATE('2025-04-26', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (308, 208, 8, 107, TO_DATE('2025-05-11', 'YYYY-MM-DD'), 0);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (309, 209, 9, 108, TO_DATE('2025-06-02', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (310, 210, 10, 109, TO_DATE('2025-06-16', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (311, 201, 1, 101, TO_DATE('2025-01-11', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (312, 202, 2, 101, TO_DATE('2025-01-12', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (313, 203, 3, 102, TO_DATE('2025-01-16', 'YYYY-MM-DD'), 0);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (314, 204, 4, 103, TO_DATE('2025-01-22', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (315, 205, 5, 104, TO_DATE('2025-02-06', 'YYYY-MM-DD'), 0);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (316, 206, 6, 105, TO_DATE('2025-03-15', 'YYYY-MM-DD'), 1);
INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,
result_)
VALUES (317, 207, 7, 106, TO_DATE('2025-04-25', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (318, 208, 8, 107, TO_DATE('2025-05-11', 'YYYY-MM-DD'), 0);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (319, 209, 9, 108, TO_DATE('2025-06-02', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (320, 210, 10, 109, TO_DATE('2025-06-15', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (321, 204, 1, 103, TO_DATE('2025-01-25', 'YYYY-MM-DD'), 0);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (322, 205, 2, 104, TO_DATE('2025-02-07', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (323, 206, 3, 105, TO_DATE('2025-03-17', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (324, 207, 4, 106, TO_DATE('2025-04-27', 'YYYY-MM-DD'), 0);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (325, 208, 5, 107, TO_DATE('2025-05-12', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (326, 209, 6, 108, TO_DATE('2025-06-03', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (327, 210, 7, 109, TO_DATE('2025-06-16', 'YYYY-MM-DD'), 0);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (328, 201, 8, 101, TO_DATE('2025-01-12', 'YYYY-MM-DD'), 1);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (329, 202, 9, 101, TO_DATE('2025-01-13', 'YYYY-MM-DD'), 0);

INSERT INTO submissions (id, challenge_id, user_id, contest_id, submitted_on,


result_)
VALUES (330, 203, 10, 102, TO_DATE('2025-01-17', 'YYYY-MM-DD'), 1);

--Get all the submissions for the contest with id 101


SELECT *
FROM
users
JOIN
submissions
ON (users.id = submissions.user_id)
WHERE submissions.contest_id=101;

SELECT *
FROM
users
JOIN
submissions
ON (users.id = submissions.user_id)
WHERE submissions.contest_id=101 and submissions.result_=1;

--Get all the name of users participated in contest with id 102.


SELECT DISTINCT name
FROM
users
JOIN
submissions
ON (users.id = submissions.user_id)
WHERE submissions.contest_id=102;

--Get contest_id ,submission_made in that contest


SELECT contest_id,COUNT(id)
FROM submissions
GROUP BY contest_id;

--The names of user alongside submissions made across all the contests?

SELECT * FROM users;


SELECT * FROM contests;
SELECT * FROM challenges;
SELECT * FROM submissions;

MULTIPLE JOINS:
--------------
REFER TO THE pdf: "C:\Users\avala\Downloads\Types of JOINS in SQL.pdf"

-- DROP TABLE department


CREATE TABLE department(
dept_id INT PRIMARY KEY,
dept_name VARCHAR(50) NOT NULL
);

-- DROP TABLE employee


CREATE TABLE employee(
emp_id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
salary INT NOT NULL,
dept_id INT
);
-- DROP TABLE professor
CREATE TABLE professor(
pro_id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
salary INT NOT NULL,
hod_id INT
);

-- DROP TABLE worker


CREATE TABLE worker(
worker_id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
salary INT NOT NULL
);
-- DROP TABLE payment
CREATE TABLE payment(
min_salary INT,
max_salary INT,
grade VARCHAR(2)
);

-- INSERTS on department table


INSERT INTO department VALUES(101, 'HR');
INSERT INTO department VALUES(102, 'IT');
INSERT INTO department VALUES(103, 'Finance');
INSERT INTO department VALUES(104, 'Marketing');

-- INSERTS on employee table


INSERT INTO employee VALUES(1, 'Alice', 50000, 101);
INSERT INTO employee VALUES(2, 'Bob', 45000, 102);
INSERT INTO employee VALUES(3, 'Charlie', 60000, NULL);
INSERT INTO employee VALUES(4, 'Diana', 48000, 101);
INSERT INTO employee VALUES(5, 'Eve', 70000, 103);
INSERT INTO employee VALUES(6, 'Frank', 65000, 105);

-- INSERTS on professor table


INSERT INTO professor VALUES(1, 'Alice', 50000, 3);
INSERT INTO professor VALUES(2, 'Bob', 45000, NULL);
INSERT INTO professor VALUES(3, 'Charlie', 60000, NULL);
INSERT INTO professor VALUES(4, 'Diana', 48000, 2);
INSERT INTO professor VALUES(5, 'Eve', 70000, NULL);
INSERT INTO professor VALUES(6, 'Frank', 65000, 5);
INSERT INTO professor VALUES(7, 'Henry', 55000, 3);

-- INSERTs on worker table


INSERT INTO worker VALUES(1, 'Alice', 24500);
INSERT INTO worker VALUES(2, 'Bob', 16900);
INSERT INTO worker VALUES(3, 'Charlie', 40000);
INSERT INTO worker VALUES(4, 'Diana', 35650);
INSERT INTO worker VALUES(5, 'Eve', 12000);
INSERT INTO worker VALUES(6, 'Frank', 29990);
INSERT INTO worker VALUES(7, 'Henry', 47670);

-- INSERTs on payment table


INSERT INTO payment VALUES(40000, 49999, 'A');
INSERT INTO payment VALUES(30000, 39999, 'B');
INSERT INTO payment VALUES(20000, 29999, 'C');
INSERT INTO payment VALUES(10000, 19999, 'D');
SELECT * FROM employee;
SELECT * FROM department;
SELECT * FROM professor;
SELECT * FROM worker;
SELECT * FROM payment;

SELECT e.emp_id,e.name,
d.dept_name
FROM employee e
INNER JOIN
department d
ON e.dept_id=d.dept_id;

SELECT e.emp_id,e.name,
d.dept_name
FROM employee e
LEFT JOIN
department d
ON e.dept_id=d.dept_id;

SELECT e.emp_id,e.name,
d.dept_id,d.dept_name
FROM employee e
RIGHT JOIN
department d
ON e.dept_id=d.dept_id;

SELECT e.emp_id,e.name,
d.dept_id,d.dept_name
FROM
employee e
FULL JOIN
department d
ON e.dept_id=d.dept_id;

SELECT
p1.pro_id AS professor_id,
p1.name AS professor_name,
p2.pro_id AS hod_id,
p2.name AS hod_name
FROM
professor p1
JOIN
professor p2
ON p1.hod_id=p2.pro_id;

SELECT
w.worker_id,w.name,w.salary,p.grade
FROM
worker w JOIN payment p
ON W.salary>=p.min_salary AND w.salary<=p.max_salary;
ORDER BY salary DESC;

SELECT p.grade,COUNT(*)
FROM
worker w
JOIN
payment p
ON W.salary>=p.min_salary AND w.salary<=p.max_salary
GROUP BY p.grade;

You might also like