Unit - Iv RDBMS Notes
Unit - Iv RDBMS Notes
UNIT – IV
SQL: Commands – Data types - DDL – Selection, Projection, Join and Set operations – Aggregate
functions – DML – Modification – Truncation – Constraints - Subquery
SQL COMMANDS
What is SQL?
Structured Query Language and it helps to make practice on SQL commands which provides
immediate results.
SQL is Structured Query Language, which is a computer language for storing, manipulating and
retrieving data stored in relational database.
SQL is the standard language for Relation Database System.
All relational database management systems like MySQL, MS Access, and Oracle, Sybase,
Informix, and SQL Server use SQL as standard database language.
Why SQL?
Allows users to create and drop databases and tables.
Allows users to describe the data.
Allows users to define the data in database and manipulate that data.
Allows users to access data in relational database management systems.
Allows embedding within other languages using SQL modules, libraries & pre-compilers.
Allows users to set permissions on tables, procedures, and views
SQL Architecture:
When you are executing an SQL command for any RDBMS, the system determines the best way
to carry out your request and SQL engine figures out how to interpret the task.
There are various components included in the process.
These components are:
o Query Dispatcher
o Optimization Engines
o Classic Query Engine
o SQL Query Engine, etc.
Classic query engine handles all non-SQL queries
but SQL query engine won't handle logical files.
Simple diagram showing SQL Architecture:
1|Page
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
SQL Commands:
The standard SQL commands to interact with relational databases are CREATE, SELECT,
INSERT, UPDATE, DELETE and DROP.
These commands can be classified into groups based on their nature:
2|Page
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
DCL - Data Control Language:
These SQL commands are used for providing security to database objects.
The different DCL commands are:
Command Description
GRANT Gives a privilege to user
REVOKE Takes back privileges granted from user
1. NUMBER:
o Used to store a numeric value in a field column.
o It may be decimal, integer or real value.
o General syntax: NUMBER(n, d)
3|Page
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
o Where n specifies the number of digits and d specifies the number of digits to right of the
decimal point.
o Example: marks NUMBER(3), average NUMBER(2, 3)
2. CHAR:
o Used to store a character type data in a column.
o General syntax: CHAR(size)
o Where size represents the maximum (255 Characters) number of characters in a column.
o Example: name CHAR(15)
3. VARCHAR/VARCHAR2:
o It is used to store variable length alphanumeric data.
o General syntax: VARCHAR(size) / VARCHAR2(size)
o Where size represents the maximum (2000 Characters) number of characters in a column.
o Example: address VARCHAR2(50)
4. DATE:
o It is used to store date in columns.
o SQL supports the various date formats other than the standard DD-MON-YY.
o Example: dob DATE
5. TIME:
o It is used to store time in columns.
o SQL supports the various time formats other than the standard hh-mm-ss.
o Every DATE and TIME can be added, subtracted or compared as it can be done with other
data types.
6. LONG:
1. It is used to store variable length strings of up to 2GB size.
2. Example: description LONG
4|Page
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
SELECT, FROM and WHERE are keywords.
The clauses are “FROM student” and “WHERE RegNo=109”.
Here SELECT and FROM are mandatory, but WHERE is optional.
Name, Student, RegNo, are identifier that refers to objects in the database.
Name and RegNo are column names, while Student is a table name.
The equal sign is an operator and 109 is a numeric constant.
5|Page
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
IS NULL The NULL operator is used to compare a value with a NULL value.
The UNIQUE operator searches every row of a specified table for uniqueness (no
UNIQUE
duplicates).
CREATE TABLE
The SQL CREATE TABLE statement is used to create a new table.
Creating a basic table involves naming the table and defining its columns and each column's data
type.
Syntax: Basic syntax of CREATE TABLE statement is as follows:
CREATE TABLE Table_name
(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
o Here CREATE TABLE is the keyword followed by the Table_name, followed by an open
parenthesis, followed by the column names and data types for that column, and followed by a
closed parenthesis.
o For each column, a name and a data type must be specified and the column name must be a
unique within the table definition.
o Column definitions are separated by commas (,).
o Uppercase and lowercase letters makes no difference in column names.
o Each table must have at least one column.
o SQL commands should end with a semicolon (;).
Example: Create a table “STUDENT” that contains five columns: RegNo, Name, Combination,
DOB and Fees.
CREATE TABLE STUDENT
(
RegNo NUMBER (6),
Name VARCHAR2 (15),
Combination CHAR (4),
DOB DATE,
Fees NUMBER (9, 2),
PRIMARY KEY ( RegNo )
);
6|Page
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
It creates an empty STUDENT table which looks like this:
ALTER Statement:
The table can be modified or changed by using the ALTER command.
Syntax: Basic syntax of ALTER TABLE statement is as follows:
1. ALTER TABLE Table_name
ADD (column_name1 DataType, Cloumn_name2 DataType……);
2. ALTER TABLE Table_name
MODIFY (column_name1 DataType, Cloumn_name2 DataType……);
3. ALTER TABLE Table_name
DROP (column_name1 DataType, Cloumn_name2 DataType……);
Example:
Using the ALTER TABLE command the following tasks cannot be performed
o Changing a table name.
o Changing the column name.
o Decreasing the size of a column if table data exists.
o Changing a column‟s data type.
DROP TABLE:
The SQL DROP TABLE statement is used to remove a table definition and all data, indexes,
triggers, constraints, and permission specifications for that table.
Syntax: Basic syntax of DROP TABLE statement is as follows:
7|Page
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
DROP TABLE Table_name;
Example:
INSERT:
The SQL INSERT INTO Statement is used to add new rows of data to a table in the database.
Syntax:
There are two basic syntaxes of INSERT INTO statement as follows:
Here, column1, column2,...columnN are the names of the columns in the table into which you
want to insert data.
You may not need to specify the column(s) name in the SQL query if you are adding values for all
the columns of the table. But make sure the order of the values is in the same order as the columns
in the table.
METHOD 1: The SQL INSERT INTO syntax would be as follows:
8|Page
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
SQL> INSERT INTO STUDENT (REGNO, COMBINATION,FEES) VALUES(1412,
'PCMB',21000);
1 row created.
All the above statements would produce the following records in STUDENT table:
UPDATE:
SQL provides the ability to change data through UPDATE command.
The UPDATE command used to modify or update an already existing row or rows of a table.
The basic syntax of UPDATE command is given below.
UPDATE Table_name
SET column_name = value
[, column_name =value ............. ]
[WHERE condition];
Example:
SQL> UPDATE STUDENT SET COMBINATION='CEBA' WHERE REGNO=1411;
1 row updated.
SQL> UPDATE STUDENT SET NAME='AKASH' WHERE REGNO=1412;
1 row updated.
DELETE command:
In SQL, an already existing row or rows are removed from tables through the use of DELETE
command.
The basic syntax of DELETE command is given below.
DELETE Table_name
[WHERE condition];
Example:
SQL> DELETE STUDENT WHERE REGNO=1412;
1 row deleted.
9|Page
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
SELECT:
SQL SELECT statement is used to fetch the data from a database table which returns data in the
form of result table. These result tables are called result-sets.
Syntax: The basic syntax of SELECT statement is as follows:
SELECT column1, column2, columnN Compulsory
FROM Table_name; Part
[WHERE condition(s)]
[GROUPBY column-list] Optional
[HAVING condition(s)] Part
[ORDER BY column-name(s)];
Here, column1, column2...are the fields of a table whose values you want to fetch. If you want to
fetch all the fields available in the field, then you can use the following syntax:
Following is an example, which would fetch REGNO, NAME and COMBINATION fields of the
customers available in STUDENT table:
DISTINCT:
The SQL DISTINCT keyword is used in conjunction with SELECT statement to eliminate all the
duplicate records and fetching only unique records.
10 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
There may be a situation when you have multiple duplicate records in a table. While fetching such
records, it makes more sense to fetch only unique records instead of fetching duplicate records.
Syntax: The basic syntax of DISTINCT keyword to eliminate duplicate records is as follows:
First, let us see how the following SELECT query returns duplicate combination records:
Now, let us use DISTINCT keyword with the above SELECT query and see the result:
This would produce the following result where we do not have any duplicate entry:
11 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
The WHERE clause is not only used in SELECT statement, but it is also used in UPDATE,
DELETE statement, etc., which we would examine in subsequent chapters.
Syntax: The basic syntax of SELECT statement with WHERE clause is as follows:
Following is an example, which would fetch REGNO, NAME and COMBINATION fields from
the STUDENT table for a COMBINATION is „PCMC‟.
Here, it is important to note that all the strings should be given inside single quotes ('') where as
numeric values should be given without any quote as in above example:
The SQL AND and OR operators are used to combine multiple conditions to narrow data in an
SQL statement. These two operators are called conjunctive operators.
These operators provide a means to make multiple comparisons with different operators in the
same SQL statement.
12 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
You can combine N number of conditions using AND operator. For an action to be taken by the
SQL statement, whether it be a transaction or query, all conditions separated by the AND must be
TRUE.
Following is an example, which would fetch REGNO, NAME and DOB fields from the
STUDENT table where fees is less than 1500 AND combination is „PCMC:
The OR Operator:
The OR operator is used to combine multiple conditions in an SQL statement's WHERE clause.
You can combine N number of conditions using OR operator. For an action to be taken by the
SQL statement, whether it be a transaction or query, only any ONE of the conditions separated by
the OR must be TRUE.
Following is an example, which would fetch REGNO, NAME and DOB fields from the
STUDENT table where fees is less than 1500 OR combination is „PCMC:
13 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
ORDER BY – (Sorting the data)
The SQL ORDER BY clause is used to sort the data in ascending or descending order, based on
one or more columns. Some database sorts query results in ascending order by default.
Syntax: The basic syntax of ORDER BY clause is as follows:
SELECT column-list
FROM Table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
You can use more than one column in the ORDER BY clause. Make sure whatever column you
are using to sort, that column should be in column-list.
Following is an example, which would sort the result in ascending order by NAME:
Following is an example, which would sort the result in descending order by NAME:
14 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
Working out simple calculations.
Whenever we want to perform simple calculations such as 10 / 5, we can perform using SELECT
statement which causes an output on monitor.
But SELECT requires table name to operate.
One can make use of the dummy table provided by SQL called DUAL which is a single row and
single column table.
It is used when data from table is not required.
For example, when a calculation is to be performed such as 10*3, 10/2 etc. and to display the
current system date, we could use the following queries.
SQL Functions:
The SQL functions serve the purpose of manipulating data items and returning a result.
There are many built in functions included in SQL and can be classified as Group Functions and
Scalar Functions.
Group Functions (OR) Aggregate Functions:
o Functions that act on set of values are called group functions.
o A group functions can takes entire column of data as its arguments and produces a single
data item that summarizes the column.
o Following are the SQL group functions.
Function Description
AVG Returns average value of „N‟, ignoring NULL values
COUNT(expr) Returns the number of rows where „expr‟ is not NULL
Returns the number of rows in the table including duplicates and those with
COUNT(*)
NULL values
MIN Returns minimum value of „expr‟
MAX Returns maximum value of „expr‟
SUM Returns sum of values „N‟
Scalar Functions:
o Functions that act on only one value at a time are called scalar functions.
o We can further classify the functions using the type of data with they are designed to work.
15 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
Function Description
Numeric Work with numbers.
Functions Examples: ABS, POWER, ROUND, SQRT
String Work with character based data.
Functions Examples: LOWER, INITCAP, UPPER, SUBSTR, LENGTH, LTRIM, RTRIM
Date Work with Date data types.
Functions Example: ADD_MONTHS, LAST_DAY, MONTHS_BETWEEN, NEXT_DAY
Conversion These functions are used to convert one type of data to another.
Functions Example: TO_NUMBER, TO_CHAR, TO_DATE
COUNT ( ) Function:
This function is used to count the number of values in a column.
COUNT (*) is used to count the number of rows in the table including duplicates and those with
NULL values.
Example 1:
o SELECT COUNT (*) FROM EXAMINATION;
o The above query returns 10.
Example 2:
o SELECT COUNT (RegNo) FROM EXAMINATION WHERE CC = „C3‟ ;
o The above query returns 4.
16 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
AVG ( ) Function:
This function is used to find the average of the values in a numeric column.
Example 1:
o SELECT AVG (Cs) FROM EXAMINATION;
o The above query returns 74.7
SUM ( ) Function:
This function is used to find the sum of the values in a numeric column.
Example:
o SELECT SUM (Phy) FROM EXAMINATION;
o The above query returns 729
MAX ( ) Function:
This function is used to find the maximum values in a column.
Example:
o SELECT MAX (Phy) FROM EXAMINATION;
o The above query returns 100
MIN ( ) Function:
This function is used to find the minimum values in a column.
Example:
o SELECT MIN (Phy) FROM EXAMINATION;
o The above query returns 33
17 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
Example 1: To find the number of students in each college.
SELECT CC, COUNT (CC)
FROM EXAMINATION
GROUP BY CC;
Example 2: To find the number of students, sum, average, maximum, minimum marks in
computer science from each city.
SELECT City, COUNT (City), SUM (Cs), AVG (Cs), MAX (Cs), MIN (Cs)
FROM EXAMINATION
GROUP BY City;
SQL CONSTRAINTS:
Constraints are the rules enforced on data columns on table.
These are limiting the type of data that can go into a table.
This ensures the accuracy and reliability of the data into the database.
SQL allows two types of constraints.
o Column level constraints: These constraints are defined along with the column definition
when creating or altering a table structure. These constraints apply only to individual
columns.
o Table level constraints: These constraints are defined after all the table columns when
creating or altering a table structure. These constraints apply to groups of one or more
columns.
Following are the commonly used constraints available in SQL.
Constraints Description
NOT NULL Ensures that a column cannot have NULL value
UNIQUE Ensures that all values in column are different
PRIMARY KEY Uniquely identified eac row in a database table.
FOREIGN KEY Uniquely identified each rown in any other database table
DEFAULT Provides a default value for a column when none is specified
CHECK Ensures that all values in a column satisfy certain condition.
18 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
Example: Consider the following CREATE TABLE command creates a new table called
PRODUCT and add six columns, two which PID and Description specify not to accept NULLs.
CREATE TABLE PRODUCT
(
PID CHAR (4) NOT NULL,
Description VARCHAR2 (25), NOT NULL
CompanyId CHAR (10),
DOM DATE,
Type CHAR (10),
Price NUMBER (10,2)
);
UNIQUE Constraints:
This constraint ensures that no rows have the same value in the specified column(s). A table must
have many unique keys.
Example: UNIQUE constraint applied on PID of PRODUCT table ensures that no rows have the
same PID value, as shown below
CREATE TABLE PRODUCT
(
PID CHAR (4) NOT NULL UNIQUE,
Description VARCHAR2 (25), NOT NULL
CompanyId CHAR (10),
DOM DATE,
Type CHAR (10),
Price NUMBER (10,2)
);
PRIMARY KEY Constraints:
A primary key is a field which uniquely identifies each row in a database table. A primary key in a
table has special attributes:
By default this column is NOT NULL. It defines the column as a mandatory column i.e. the
column cannot be left blank.
The data held in this column must be unique.
Example:
CREATE TABLE PRODUCT
(
PID CHAR (4) PRIMARY KEY,
Description VARCHAR2 (25), NOT NULL
CompanyId CHAR (10),
DOM DATE,
Type CHAR (10),
Price NUMBER (10,2)
);
19 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
FOREIGN KEY Constraint:
A FOREIGN KEY is used to link two tables together.
A foreign key is a column whose values are derived from the PRIMARY KEY of some other table.
Example:
CREATE TABLE PRODUCT
(
PID CHAR (4) PRIMARY KEY,
Description VARCHAR2 (25), NOT NULL
CompanyId CHAR (10) REFERENCES COMPANY (CID)
DOM DATE,
Type CHAR (10),
Price NUMBER (10,2)
);
CREATE TABLE COMPANY
(
CID CHAR (10) PRIMARY KEY,
CProfile VARCHAR2 (200),
Noofproducts NUMBER (20),
DOE DATE
);
DEFAULT Constraints:
A default value can be specified for a column using the DEFAULT clause.
The DEFAULT constraint provides a default value to a column when the INSERT INTO
command does not provide a specific value.
Example:
CREATE TABLE PRODUCT
(
PID CHAR (4) PRIMARY KEY,
Description VARCHAR2 (25), NOT NULL
CompanyId CHAR (10),
DOM DATE,
Type CHAR (10),
Price NUMBER (10, 2) DEFALUT 1000.00
);
CHECK Constraints:
The CHECK Constraint is used to establish a TRUE/FALSE condition that is applied to the data
placed in a column.
If a value does not meet the condition, it cannot be placed in the column.
Example:
CREATE TABLE PRODUCT
20 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
(
PID CHAR (4) CHECK (PID LIKE ‘P%’),
Description VARCHAR2 (25),
CompanyId CHAR (10),
DOM DATE,
Type CHAR (10),
Price NUMBER (10, 2) CHECK (Price>0)
);
TABLE Constraints:
When a constraint is applied to a group of columns of the table, it is called a table constraint.
Column constraint is defined along with the end of the column.
Table constraints are defined at the end of the table.
Example:
CREATE TABLE PRODUCT
(
PID CHAR (4) NOT NULL,
Description VARCHAR2 (25) NOT NULL,
CompanyId CHAR (10),
DOM DATE,
Type CHAR (10),
Price NUMBER (10, 2),
PRIMARY KEY (PID, Description)
);
Joins
The SQL Joins clause are used to fetch/retrieve data from two or more tables based on the join
condition which is specified in the WHERE condition.
Basically data tables are related to each other with keys. We can used these keys relationship in
SQL joins.
21 | P a g e
Mrs.Shunmuga Priya K
[RDBMS – UNIT IV NOTES]
o CARTESIAN JOIN: returns the Cartesian product of the sets of records from the two or
more joined tables.
Creating VIEWs:
Database Views are created using the CREATE VIEW statement.
Views can be created from a single table, multiple tables or another view.
To create a view, a user must have the appropriate system privilege according to the specific
implementation.
Syntax: The basic CREATE VIEW syntax is as follows: