Ashokit Oracle 6pm Batch
Ashokit Oracle 6pm Batch
Stands For Structured Query Language With SQL We Can Store, Retrieve,
Select, Extract, Read, Update, And Delete The Data In The Database.
WHAT IS DATA?
The World Is Divided Into Two Things One Is Non-Living Things Another One
Living Things But in Programing Language i.e. C, C++, JAVA, PYTHON, PHP
Everything Will Be Consider as Object.
EXAMPLE -1
OBJECT
PROPERTIES DATA
NAME NIBBA
AGE 24
GENDER MALE
DATEOFBIRTH 14-FEB-2000
HEIGHT 5’1’’ FEET
WEIGHT 56KGS
QUALIFICATION B.TECH
INSTA_ID call_me_nibba
GIRL_FRIEND_NAME NIBBI
HUMAN
EXAMPLE:-2
Properties or Attributes
ENTITY (OBJECT)
WHAT IS DATABASE?
Software
QUERY
LANGUAGE Data
Database
FILE FORMAT
DBMS
We use query language to communicate or interact with DBMS
Software
Data
TABLE (ROW&COLUMNS)
STRUCTURED QUERY
LANGUAGE Database
EXAMPLE
TABLE:
(Or)
Rows Cell
/
Records
/
Tuples
Employee:
Example:
EID ENAME PHONE_NO
1 SMITH 101
2 ALLEN 102 , 202
3 CLARK 103
Rule No 2
Note point:-
DATATYPES
Datatypes in SQL
4. NUMBER(PRECISION ,[SCALE])
5. LARGE OBJECTS
i. Character Large Object. (CLOB)
ii. Binary Large Object (BLOB)
KEEP IN MIND!
NOTE: SQL is not a Case Sensitive Language.
CHAR (SIZE) DATA TYPE;-
In character datatype we can store 'A-Z' , 'a-z' , '0-9' And Special
Characters( $ , & , @ , ! … ) .
R A M
EXAMPLE ‘ABC123’
VARCHAR (SIZE) DATA TYPE:-
2. In varchar datatype we can store 'A-Z' , 'a-z' , '0-9' And Special Characters( $
,&,@,!…).
Characters must always be enclosed within single quotes ' RAMAKRISHNA SIR'.
R A M
Characters must always be enclosed within single quotes ' RAMAKRISHNA SIR'.
Whenever we use char datatype we must mention size
Size: it is used to specify number of characters it can store.
The maximum number of characters it can store 4000 CHARACTERS
R A M
Example:
FROM DUAL;
'A' 65
'Z' 90
'a' 97
'z' 122
NUMBER (PRECISION,[SCALE])
SYNTAX: NUMBER (Precision, [Scale])
[ ] - Not Mandatory.
Precision: it is used to determine the number of digits used to store integer value
Scale: it is used to determine the number of digits used to store decimal (floating) value
within the precision
By default scale value is zero (0)
Scale is not mandatory
EXAMPLE WE HAVE TAKEN DIGIT 7
Example : Number ( 3 ) +/- 777
Example : Number ( 5 , 0 ) +/- 77777
Example : Number ( 5 , 2 ) +/- 777.77
Example : Number ( 7 , 3 ) +/- 7777.777
Example : Number ( 4 , 4 ) +/- .7777
Example : Number ( 5 , 4 ) +/- 7.7777
Example : Number ( 3 , 6 ) +/- .000777
Example : Number ( 5 , 8 ) +/- .00077777
Example : Number ( 2 , 7 ) +/- .0000077
'DD-MON-YY' OR 'DD-MON-YYYY'
'12-AUG-24' '12-AUG-2024'
SYNTAX: DATE
EMPLOYEE_DETAILS
LARGE OBJECTS
SYNTAX : CLOB
EXAMPLE
@ # $ ^ 4 5
E 4 7 8 % *
5 ^ ( _* # $
Binary large object (BLOB):
Datatype we can store 'A-Z, 'a-z', '0-9' And Special Characters ($, &, @, #…).
It is used to store characters up to 4 GB of size.
In Binary Large Object Datatype we can store the Values/data in Binary Format
SYNTAX: BLOB
EXAMPLE
1` 0 0 0 1 0
0 1 1 1 0 1
0 0 0 0 1 1
FOR WINDOWS
To download bit.ly/roSoftWIN
(Or)
TO download tinyurl.com/jspsqlsw
CONSTRAINTS
It Is Rule and Restriction /Terms and Condition Are Given To the Column(s).
Types of Constraints:
1. UNIQUE
2. NOT NULL
3. CHECK
4. PRIMARY KEY
5. FOREIGN KEY.
1. UNIQUE: "It is used to avoid duplicate values into the column ".
Child Table
Customer
CID CNAME CNO DNO DNAME LOC
Dept
1 X 1001 10 D1 L1
2 Y 2002 20 D2 L2
3 Z 3003
NOTE NULL
Characteristics of Null:
Null doesn’t represent 0 or Blank Space.
Any operations performed on a Null will result in Null itself.
Null doesn’t occupy any Memory.
We cannot Equate Null.
CREATE
“It Is Used To Build / Construct an Object”
Create Is Used To Create an Entity/Object (Or) View (Virtual Table)
NOTE
TO SEE THE TABLE_NAME SQL PLUS APPLICATION
SQL>SELECT *
2 FROM TAB;
SYNTAX:-DESCRIBE TABLE_NAME;
EXAMPLE:-DESCRIBE CUSTOMER;
CUSTOMER PRODUCTS
CUSTOMER_ID CUSTOMER_ID
(PK) (FK)
SYNTAX TO CREATE TABLE TO ESTABLIISH CONNECTIONS BETWEEN THE
MULTIPLE TABLE
(
Product_ID Number (2) primary key,
Product_NAME Varchar (10),
PRICE Number (7, 2) check (Price > 0),
Customer_id int,
Constraint CID_FK Foreign Key (customer_id) References
Customer (customer_id)
);
SQL>DESCRIBE CUST
ALTER:” IS USED TO MODIFY THE STRUCTURE OF THE TABLE AFTER
CREATATION”
SQL>DESCRIBE CUST;
TO ADD FOREIGN KEY ESTABLISH CONNECTION BETWEEN THE MULTIPLE_TABLE
AFTER CREATATION OF THE TABLES
Example:
Alter table product
Add foreign key (customer_id) references customer (customer_id)
TRUNCATE: "IT IS USED TO REMOVE ALL THE RECORDS FROM THE TABLE
PREMANENTLY WITHOUT DISTURBING THE STRUCTURE OF THE TABLE ”
(Or)
“We want to delete the data inside table permanently than we use Truncate”
KEEP IT IN MIND!
“IT REMOVES BOTH DATA AND THE STRUCTURE OF THE TABLE PERMANENTLY
FROM THE DATABASE.”
T_NAME T_TYPE
------------------------------------------------------------------------------
DEPT TABLE
EMP TABLE
SALGRADE TABLE
BONUS TABLE
CUSTOMER TABLE
PRODUCT TABLE
STUDENT TABLE
BIN$1234abc3456 TABLE
SQL>SELECT *
2 FROM RECYCLEBIN;
------------------------------------------------------------------------------------------
BIN$1234abc3456 TABLE DROP ORDERS
THE TABLE IS PRESENT IN RECYCLE BIN WE HAVE OPTIONS
ONE IS TO RECOVER THE TABLE BY (FLASHBACK STATEMENT)
ANOTHER ONE DELETE FORVER FROM DATABASE BY (PURGE)
Orders
FLASHBACK
ORDERS
DROP
Gone
BIN$123abc3456
Forever
FLASHBACK TABLE
TABLE_NAME TO BEFORE DROP;
The functionality of Recycle Bin was introduced in Oracle 10G version only. Thus even
though the table has been dropped, we can still restore it using flashback command or we
can permanently remove it using the purge command. This concept of Recycle bin was not
there in the earlier versions of Oracle.
DESCRIBE CUSTOMER;
CID CNAME CNO ADDDRESS
NUMBER(2) VARCHAR(10) NUMBER(10) VARCHAR(20)
DESCRIBE BOOKS;
COLUMN_NAMES DATA_TYPES
--------------------------------------------------------------------------------------
BOOK_ID NUMBER (38)
BOOK_NAME VARCHAR2 (16)
1 ROW CREATED
SQL> SELECT *
2 FROM BOOKS;
BOOK_ID BOOK_NAME
11 JAVA
UPDATE: It is used to modify an existing value
SQL>UPDATE BOOKS
2 SET BOOK_NAME =’ORACLE SQL’
3 WHERE BOOK_ID =11;
1 ROW UPDATED
BOOK_ID BOOK_NAME
11 ORACLE SQL
BOOK_ID BOOK_NAME
ASSIGNMENT ON DML STATEMENTS
TRUNCATE DELETE
Belongs to DDL Belongs to DML
Removes all the records from the Removes a particular record from the
Table permanently. Table.
Auto COMMIT Not auto COMMIT.
“It is used to control the transactions done on the database ".The DML Operations
performed on the Database are known as Transactions such as Insertion, Updating and
Deletion.
We have 3 Statements:
o COMMIT
o ROLLBACK
o SAVEPOINT
ROLLBACK
It undoes (ONE STEP BACK WORD) the DML changes performed on a table.
Let us see in the below example how rollback works,
14 row deleted.
SQL>SELECT *
2 FROM EMP;
No row selected
SQL>ROLLBACK;
Rollback completed
SQL>SELECT *
2 FROM EMP;
Thus performing the rollback operation, we can retrieve all the records which had been
deleted.
HOW TO CREATE DUPLICATE TABLE WITH SAME DATA (Or) SAME VALUES
SYNTAX:
EXAMPLE
T_NAME T_TYPE
-------------------------------------------------------------------------------
TEST TABLE
"This statement is used to control the flow of data between the users ".
We have 2 statements:
1. GRANT
2. REVOKE
REVOKE: THIS STATEMENT IS USED TO TAKE BACK THE PERMISSION FROM THE
USER.
USER is "SCOTT"
SQL> CONNECT
Enter user-name: HR Enter password: *****
Connected.
USER is "HR"
SQL> SELECT *
2 FROM SCOTT.EMP; FROM
SCOTT.EMP
*
ERROR at line 2:
ORA-00942: table or view does not exist
SQL> CONNECT
Enter user-name: SCOTT
Enter password: *****
Connected.
SQL> GRANT SELECT ON EMP TO HR;
Grant succeeded.
SQL> CONNECT
Enter user-name: HR
Enter password: *****
Connected.
TYPES OF TABLE RELATATIONS
ONE TO ONE
ONE TO MANY
MANY TO ONE
MANY TO MANY
ONE TO ONE
(PARENT_TABLE) (CHILD_TABLE)
PARENT_TABLE CHILD_TABLES
MANY TO ONE
PARENT_TABLE CHILD_TABLE
STEP -1
READ
NOW YOU HAVE CREATED THE USER
USER NAME IS SCOTT.
------TO OVER COME THIS USER (SCOTT) NEED TO TAKE PERMISSION (PRIVILEGES)
----FROM DATABASE ADMINSTRATION (DATABASE ADMIN)
----WE HAVE DATABASE ADMIN i.e(system/tiger)
STEP-2
SQL> connect
Enter user-name: system
Enter password: tiger
Connected
STEP-3
GRANT SUCCEEDED
(Or)
GRANT SUCCEEDED
STEP-4
SQL>CONNECT
Enter user-name: SCOTT
Enter password: tiger
COMMIT;
CREATE TABLE EMP
(
EMPNO NUMBER (4) PRIMARY KEY,
ENAME VARCHAR (10),
JOB VARCHAR (9),
MGR NUMBER (4),
HIREDATE DATE,
SAL NUMBER (7, 2),
COMM NUMBER (72),
DEPTNO NUMBER (2),
CONSTRAINT F_EMP foreign key (DEPTNO) references DEPT (DEPTNO)
);
SQL>COMMIT;
CREATE TABLE SALGRADE
(
GRADE NUMERIC,
LOSAL NUMERIC,
HISAL NUMERIC
);
COMMIT;
DATA QUERY LANGUAGE (DQL)
It had 4 statements
1. SELECT
2. PROJECTION
3. SELECTION
4. JOIN
SELECT: "It is used to retrieve the data from the table and display it”
Projection
It is the process of retrieving the data by selecting only columns is known as
projection
In projection all the records / values present in a particular column are by
default selected.
SELECTION: "It is a process of retrieving the data by selecting both the
columns and rows is known as Selection”
JOIN: "It is a process of retrieving the data from multiple tables
Simultaneously (AT A TIME) is known as Join”.
PROJECTION
"It is a process of retrieving the data by selecting only the columns is known as
Projection”.
In projection all the records / values present in a particular column are by default
SYNTAX :
SELECT * / [DISTINCT] Column_Name / Expression [ALIAS]
FROM Table_Name;
STUDENTS
SID SNAME SGENDER SAGE SBRANCH PERCENTAGE
1 A MALE 21 CSE 76
2 B FEMALE 22 MECH 86
3 C FEMALE 23 EEE 87
4 D MALE 23 ECE 76
5 E MALE 24 CIVIL 84
6 F MALE 25 CSE 76
STUDENT
ORDER OF EXECUTIO
FROM Clause
SELECT Clause
WRITE A QUERY TO DISPLAY ALL THE DETAILS FROM THE EMPLOYEE TABLE.
WAQTD NAMES OF ALL THE EMPLOYEES.
WAQTD NAME AND SALARY GIVEN TO ALL
THE EMPLOYEES.
WAQTD NAME AND COMMISSION GIVEN TO ALL
THE EMPLOYEES.
WAQTD EMPLOYEE ID AND DEPARTMENT NUMBER
OF ALL THE EMPLOYEES IN EMP TABLE.
WAQTD ENAME AND HIREDATE OF ALL THE EMPLOYEES.
WAQTD NAME AND DESIGNATION OF ALL
THE EMPLPOYEES.
WAQTD NAME, JOB AND SALARY GIVEN ALL
THE EMPLOYEES.
WAQTD DNAMES PRESENT IN DEPARTMENT TABLE.
WAQTD DNAME AND LOCATION PRESENT IN DEPT TABLE.
DISTINCT CLAUSE
“It is used to remove the duplicate or repeated values from the Result table”
MOVIES
MOVIEID MOVIENAME MOVIEYEAR MOVIESDAYS
1 OG 2025 60
2 DEVARA 2025 60
3 KUSHI 2023 75
4 THOLI PREMA 2018 80
5 KUSHI 2004 75
6 THOLI PREMA 1998 80
MOVIENAME
OG
DEVARA MOVIENAME
KUSHI OG
THOLI PREMA DEVARA
KUSHI KUSHI
THOLI PREMA THOLI PREMA
EXPRESSION
A Statement which Gives result is known as Expression.
Expression is combination Operand and Operator.
EXPRESSION
EMP
EMPNO ENAME SAL
1 SMITH 800
2 KING 5000
3 SCOTT 3000
ALIAS
“It is an alternate name given to a Column or an Expression In the
result table ".
We can assign alias name with or without using 'As'
keyword.
Alias names have to be a single string which is separated
by an underscore or enclosed within double quotes.
Example :
ANNUAL_SALARY
"ANNUAL SALARY"
WAQTD annual salary for all the employees.
SQL>SELECT SAL*12
2 FROM EMP;
SELECTION
It is a process of retrieving the data by selecting both the columns and rows is known as
Selection ".
SYNTAX:
SELECT * / [DISTINCT] Column_Name / Expression [ALIAS]
FROM Table_Name
WHERE COLUMN_NAME OPERATOR ‘DATA/VALUE’ <Filter_Condition>;
WHERE CLAUSE
ORDER OF EXECUTION
FROM
WHERE
SELECT
SQL>--WAQTD ENAMES OF THE EMPLOYEES WORKING IN DEPTNO 20
FROM CLAUSE STARTS THE EXECUTION
FOR FROM CLAUSE WE CAN PASS THE TABLE_NAME AS ARGUMENT.
THE JOB OF THE FROM CLAUSE IS GO TO THE DATADABE AND SEARCH FOR THE
TABLE AND PUT THE TABLE UNDER EXECUTION
AFTER THE EXECUTION OF FROM CLAUSE WHERE CLAUSE
WILL EXECUTES
WHERE CLUAUSE JOB IS FILTER THE RECORDS CONDITION(S)
WHERE CLAUSE IS TO GO THE TABLE UNDER THE EXECUTION THE COLUMN
MENTIONED. WHERE CLUAUSE WILL FILTER THE RECORDS CONDITION(S) ROW
BY ROW
AFTER THE EXECUTION OF WHERE CLAUSE SELECT CLAUS WILL
EXECUTES
FOR SELECT CLAUSE WE PASS 3 ARGUMENTS
⬥ *
⬥ COLUMN_NAME
⬥ EXPRESSION
THE JOB OF SELECT CLAUSE IS TO GO THE TABLE UNDER THE EXECUTION AND
SELECT THE COLUMN MENTIONED
SELECT CLAUSE IS RESPONSIBLE FOR PREPARING THE RESULT TABLE.
ASTERISK (*): IT MEANS TO SELECT ALL THE COLUMNS FROM THE TABLE.
SEMICOLON: IT MEANS END OF THE QUERY.
SQL>---WAQTD names of the employees getting salary More than 300
SQL>SELECT ENAME,SAL
2 FROM EMP
SQL>-- WAQTD names and salary of the employees working in dept. 10.
SQL>SELECT ENAME,SAL ,DEPTNO
2 FROM EMP
SQL>---WAQTD All the details of the employees whose salary is less than 1000
SQL>SELECT *
2 FROM EMP
3 WHERE SAL <1000;
==============================================================================
FROM EMP;
2 FROME EMP
SQL>SELECT *
2FROM EMP
SQL>SELECT *
2 FROME EMP
2 FROM EMP
SQL>WAQTD name sal and hiredate of the employees who were Hired after 1985
2 FROM EMP
2 FROM EMP
3 WHERE JOB=’MANAGER’;
OPERATORS:-
THE SYMBOLES WHICH ARE USED TO PERFORM THE OPERATION IS
KNOW AS OPERATORS
(+ plus symbol Addition operation)
(- minus symbol Substation operation)
(*into symbol multiplication operation)
OPERATORS IN SQL
1. ARITHEMATIC OPERATORS :- ( + , - , * , / )
2. CONCATENATION OPERATOR :- ( || )
3. COMPARISION OPERATORS :- ( = , != or <> )
4. RELATIONAL OPERATOR :- ( > , < , >= , <= )
5. LOGICAL OP : ( AND , OR , NOT )
6. SPECIAL OPERATOR :-
1. IN
2. NOT IN
3. BETWEEN
4. NOT BETWEEN
5. IS
6. IS NOT
7. LIKE
8. NOT LIKE
7. SUBQUERY OPERATORS:-
1. ALL
2. ANY
3. EXISTS
4. NOT EXISTS
T T T
F T F
T F F
F F F
AND OPERATOR Should Satisfy All The Conditions Then Only Result
Will Be True.
SQL>--WAQTD name and deptno along with job for the employee working in dept 10..
2 FROM EMP
SQL>-- WAQTD name and deptno along with job for the employee working as manager in dept
10.
2 FROM EMP
SQL>WAQTD name, deptno, salary of the employee working in dept 20 and earning less than 3000.
2 FROM EMP
3 WHERE DEPTNO =20 AND SAL <3000;
F T T
T F T
F F F
2 FROM EMP
CLERK OR MANAGER
2 FROM EMP
2 FROM EMP
SPECIAL OPERATOR
IN IS
NOT IN IS NOT
BETWEEN LIKE
NOT BETWEEN NOT LIKE
IN OPERATOR Is Multi Valued Operator Which Will Can Accept Multiple Values At The
RHS.
EAXMPLE:
1=1 (T) 1 IN 1(T)
1=1, 2, 3, 4, 5 (F) 1 IN (1, 2, 3, 4, 5, 6) (T)
1=100,200,300,400 (F) 1 IN (100, 2000, 300,400) (F)
SYNTAX
FROM TABLE_NAME
2 FROM EMP
2 FROM EMP
3 FROM EMP
SQL> WAQTD EMPNO, ENAME AND SALARY OF THE EMPLOYEES WHOSE EMPNO
IS 7902 OR 7839 AND GETTING SALARY MORE THAN 2725.
2 FROM EMP
NOT IN
NOT IN OPERATOR Is Multi Valued Operator Which Will Can Accept Multiple Values At
The RHS. Instead Of Selecting It Rejects The Values.
Example:
1 !=1 (F) 1 NOT IN 1(F)
1 !=1, 2, 3, 4, 5 (T) 1 NOT IN (1, 2, 3, 4, 5, 6) (F)
1 !=100,200,300,400 (T) 1 NOT IN (100, 2000, 300,400) (T)
SYNTAX:
`
SELECT */[DISTINCT]COLUMN_NAME(S) / EXPRESSION/’[ALIAS]
FROM TABLE_NAME
WHERE COLUMN_NAME NOT IN (V1, V2, V3……);
WAQTD name and deptno of all the employees except the employees working in dept. 10
or 40.
FROM EMP
WAQTD name, deptno and job of the employee working in dept 20 but not as a clerk or
Manager.
FROM EMP
SYNTAX
FROM EMP
WAQTD name, sal and hiredate of the employees hired during 2017 into dept 20 with a
salary greater than 2000.
SELECT ENAME, SAL, HIREDATE
FROM EMP
WHERE DEPTNO = 20 AND SAL> 2000 AND HIREDATEBETWEEN '01-JAN2017' AND 31-DEC-2017’;
SYNTAX
FROM TABLE_NAME
FROM EMP
WAQTD name and deptno of the employees working in dept 10 and not hired during 2019
SELECT ENAME, DEPTNO
FROM EMP
WHERE DEPTNO = 10 AND HIREDATE NOT BETWEEN '01- JAN-2019' AND '31-DEC-
2019’;
WAQTD name, sal and hiredate of the employees who were not hired during 2017 into
dept 20 with a salary greater than 2000S
ELECT ENAME, SAL, HIREDATE
FROM EMP
WHERE DEPTNO IN 20 AND SAL> 2000 AND HIREDATE NOT BETWEEN '01-JAN2017'
AND 31-DEC-2017’;
IS NUL: - "It is used to compare only NULL"
SYNTAX
FROM EMP
WHERE COLUMN_NAME IS NULL;
SELECT ENAME
FROM EMP
SELECT ENAME
FROM EMP
WHERE COMM IS NULL;
WAQTD name, sal and comm of the EMP if the EMP doesn’t earn both.
SELECT ENAME
FROM EMP
WHERE SAL IS NULL AND COMM IS NULL;
IS NOT NULL: "It is used to compare the values with NOT NULL ".
SYNTAX
FROM EMP
WHERE COLUMN_NAME IS NOT NULL ;
FROM EMP
FROM EMP
WAQTD name, sal and comm of the employees if the emp doesn’t earn commission but gets
salary
FROM EMP
FROM EMP
WHERE COLUMN_NAME LIKE ‘pattern’;