SQL Notes Amillogems
SQL Notes Amillogems
SQL
by
APNA
COLLEGE
amillogems
Database
Database is collection of data in a format that can be easily accessed (Digital)
A software application used to manage our DB is called DBMS (Database Management System)
APNA
COLLEGE
amillogems
Types of Databases
Relational Non-relational (NoSQL)
What is SQL?
Structured Query Language
APNA
COLLEGE
amillogems
Database Structure
Database
Table 1 Table 2
Data Data
APNA
COLLEGE
amillogems
What is a table?
Student table
APNA
COLLEGE
amillogems
APNA
COLLEGE
amillogems
APNA
COLLEGE
amillogems
SQL Datatypes
They define the type of values that can be stored in a column
APNA
COLLEGE
amillogems
SQL Datatypes
Signed & Unsigned
APNA
COLLEGE
amillogems
DDL (Data Definition Language) : create, alter, rename, truncate & drop
APNA
TCL (Transaction Control Language) : start transaction, commit, rollback etc.
COLLEGE
amillogems
SHOW DATABASES;
APNA
SHOW TABLES; COLLEGE
amillogems
APNA
COLLEGE
amillogems
APNA
COLLEGE
amillogems
APNA
COLLEGE
amillogems
Keys
Primary Key
It is a column (or set of columns) in a table that uniquely identifies each row. (a unique id)
There is only 1 PK & it should be NOT null.
Foreign Key
A foreign key is a column (or set of columns) in a table that refers to the primary key in another table.
There can be multiple FKs.
FKs can have duplicate & null values.
APNA
COLLEGE
amillogems
Keys
table1 - Student table2 - City
APNA
COLLEGE
amillogems
Constraints
SQL constraints are used to specify rules for data in a table.
PRIMARY KEY makes a column unique & not null but used only for one
APNA
COLLEGE
amillogems
Constraints
FOREIGN KEY prevent actions that would destroy links between tables
APNA
COLLEGE
amillogems
Constraints
CHECK it can limit the values allowed in a column
APNA
COLLEGE
amillogems
Create this sample table Insert this data
APNA
COLLEGE
amillogems
Select in Detail
used to select any data from the database
Basic Syntax
To Select ALL
APNA
COLLEGE
amillogems
Where Clause
To define some conditions
APNA
COLLEGE
amillogems
Where Clause
Using Operators in WHERE
Comparison Operators : = (equal to), != (not equal to), > , >=, <, <=
APNA
COLLEGE
amillogems
Operators
APNA
COLLEGE
amillogems
Operators
APNA
NOT (to negate the given condition)
COLLEGE
amillogems
Limit Clause
APNA
COLLEGE
amillogems
Order By Clause
APNA
COLLEGE
amillogems
Aggregate Functions
Aggregare functions perform a calculation on a set of values, and return a single value.
COUNT( )
MAX( )
Get Maximum Marks
MIN( )
SUM( )
AVG( )
APNA
COLLEGE
amillogems
Group By Clause
Groups rows that have the same values into summary rows.
It collects data from multiple records and groups the result by one or more column.
APNA
COLLEGE
amillogems
Having Clause
Similar to Where i.e. applies some condition on rows.
Used when we want to apply any condition after grouping.
Count number of students in each city where max marks cross 90.
APNA
COLLEGE
amillogems
General Order
SELECT column(s)
FROM table_name
WHERE condition
GROUP BY column(s)
HAVING condition
ORDER BY column(s) ASC;
APNA
COLLEGE
amillogems
Having Clause
Similar to Where i.e. applies some condition on rows.
Used when we want to apply any condition after grouping.
Count number of students in each city where max marks cross 90.
APNA
COLLEGE
amillogems
UPDATE table_name
SET col1 = val1, col2 = val2
WHERE condition;
APNA
COLLEGE
amillogems
APNA
COLLEGE
amillogems
Cascading for FK
On Delete Cascade
When we create a foreign key using this option, it deletes the referencing rows in the child table
when the referenced row is deleted in the parent table which has a primary key.
On Update Cascade
When we create a foreign key using UPDATE CASCADE the referencing rows are updated in the child
table when the referenced row is updated in the parent table which has a primary key.
APNA
COLLEGE
amillogems
ADD Column
ALTER TABLE table_name
ADD COLUMN column_name datatype constraint;
DROP Column
ALTER TABLE table_name
DROP COLUMN column_name;
RENAME Table
ALTER TABLE table_name
APNA
RENAME TO new_table_name; COLLEGE
amillogems
APNA
COLLEGE
amillogems
ADD Column DROP Column
APNA
COLLEGE
amillogems
APNA
COLLEGE
amillogems
Joins in SQL
Join is used to combine rows from two or more tables, based on a related column between them.
APNA
COLLEGE
amillogems
Types of Joins
Outer Joins
APNA
COLLEGE
amillogems
Inner Join
Returns records that have matching values in both tables
Syntax
SELECT column(s)
FROM tableA
INNER JOIN tableB
ON tableA.col_name = tableB.col_name;
APNA
COLLEGE
amillogems
SELECT *
Inner Join FROM student
Example INNER JOIN course
ON student.student_id = course.student_id;
student course
APNA
Result
COLLEGE
amillogems
Left Join
Returns all records from the left table, and the matched records from
the right table
Syntax
SELECT column(s)
FROM tableA
LEFT JOIN tableB
ON tableA.col_name = tableB.col_name;
APNA
COLLEGE
amillogems
SELECT *
Left Join FROM student as s
Example LEFT JOIN course as c
ON s.student_id = c.student_id;
student course
Result
APNA
COLLEGE
amillogems
Right Join
Returns all records from the right table, and the matched records
from the left table
Syntax
SELECT column(s)
FROM tableA
RIGHT JOIN tableB
ON tableA.col_name = tableB.col_name;
APNA
COLLEGE
amillogems
SELECT *
Right Join FROM student as s
Example RIGHT JOIN course as c
ON s.student_id = c.student_id;
student course
Result
APNA
COLLEGE
amillogems
Full Join
Returns all records when there is a match in either left or right table
Syntax in MySQL
LEFT JOIN
UNION
RIGHT JOIN
APNA
COLLEGE
amillogems
Full Join
Example
course
student
Result
APNA
COLLEGE
amillogems
APNA
COLLEGE
amillogems
Self Join
It is a regular join but the table is joined with itself.
Syntax
SELECT column(s)
FROM table as a
JOIN table as b
ON a.col_name = b.col_name;
APNA
COLLEGE
amillogems
Self Join
Example
Employee
Result
APNA
COLLEGE
amillogems
Union
It is used to combine the result-set of two or more SELECT statements.
Gives UNIQUE records.
To use it :
every SELECT should have same no. of columns
columns must have similar data types
columns in every SELECT should be in same order
Syntax
SELECT column(s) FROM tableA
UNION APNA
SELECT column(s) FROM tableB
COLLEGE
amillogems
SELECT column(s)
FROM table_name
WHERE col_name operator
( subquery );
APNA
COLLEGE
amillogems
APNA
COLLEGE
amillogems
APNA
COLLEGE
amillogems
APNA
COLLEGE
amillogems
MySQL Views
A view is a virtual table based on the result-set of an SQL statement.