SQL (notes) (1)
SQL (notes) (1)
Databa
se
Database is collection of data in a format that can be easily accessed (Digital)
Table Table
1 2
Dat Dat
a a
What is a
table?
Student
table
Creating our First
Database
Our first SQL Query
CREATE DATABASE
db_name;
DROP DATABASE
db_name;
Creating our First
Table
USE db_name;
TINYINT UNSIGNED (0
to 255)
SHOW DATABASES;
SHOW
TABLES;
Table related
Queries
Create
SELECT * FROM
table_name;
Table related
Queries
Insert
INSERT INTO
table_name (colname1,
colname2); VALUES
(col1_v1, col2_v1),
(col1_v2,
col2_v2);
Key
s
Primary K ey
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 K ey
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.
Key
s
table1 - table2 -
Student City
Constrai
ntsconstraints are used to specify rules for
SQL
data in a table.
PRIM ARY makes a column unique & not null but used only
K EY for one
Constrai
nts
FOREIGN KEY prevent actions that would destroy links between
tables
Basic Syntax
To Select ALL
Comparison Operators : = (equal to), != (not equal to), > , >=, <,
Get Average
marks
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.
UPDATE table_name
SET col1 = val1, col2 =
val2
WHERE condition;
Table related
Queries
Delete (to delete existing
rows)
DELETE FROM
table_name
WHERE condition;
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.
Table related
Queries
Alter (to change the schema)
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
RENAME TO
new_table_name;
Table related
Queries
CHANGE Column (rename)
ALTER TABLE table_name
CHANGE COLUMN old_name new_name new_datatype
new_constraint;
M ODIFY RENAM E
Column Table
CHANGE Column
(rename)
Table related
Queries
Truncate (to delete table's
data)
TRUNCATE TABLE
table_name ;
Joins in SQL
Join is used to combine rows from two or more tables, based on a related
column between them.
Types of
Joins
Outer
Joins
Inner
Join records that have matching values
Returns
in both tables
Syntax
SELECT
column(s) FROM
tableA INNER
JOIN tableB
ON
tableA.col_name =
tableB.col_name;
SELECT *
Inner FROM student
Join INNER JOIN course
ON student.student_id =
Example course.student_id;
studen course
t
Result
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;
SELECT *
Left FROM student as s
Join LEFT JOIN course as c
ON s.student_id =
Example
studen course c.student_id;
t
Result
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;
SELECT *
Right FROM student as s
Join RIGHT JOIN course as c
ON s.student_id =
Example
studen course c.student_id;
t
Result
Full Join
Returns all records when there is a match in either left
or right table
Syntax in
MySQL
LEFT JOIN
UNION
RIGHT
JOIN
Full
Join
Example
course
student
Result
Think &
Ans
Qs: Write SQL commands to display the right
exclusive join :
Syntax
SELECT
column(s) FROM
table as a JOIN
table as b
ON a.col_name =
b.col_name;
Self
Join
Example
Employee
Result
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
SELECT column(s) FROM
tableB
SQL Sub Queries
A Subquery or Inner query or a Nested query is a query within another SQL
query.
It involves 2 select
Query
statements.
Syntax Sub
Query
SELECT column(s)
FROM table_name
WHERE col_name operator
( subquery );
SQL Sub
Queries
Example
Get names of all students who scored more than
class average.