0% found this document useful (0 votes)
2 views59 pages

SQL Notes Amillogems

The document provides an overview of databases and SQL, explaining key concepts such as database types, SQL commands, and data manipulation techniques. It covers the structure of databases, including tables, keys, constraints, and various SQL operations like creating, updating, and querying data. Additionally, it discusses joins, subqueries, and views, highlighting their importance in managing and retrieving data effectively.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views59 pages

SQL Notes Amillogems

The document provides an overview of databases and SQL, explaining key concepts such as database types, SQL commands, and data manipulation techniques. It covers the structure of databases, including tables, keys, constraints, and various SQL operations like creating, updating, and querying data. Additionally, it discusses joins, subqueries, and views, highlighting their importance in managing and retrieving data effectively.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 59

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)

Data stored in tables data not stored in tables

** We use SQL to work with relational DBMS APNA


COLLEGE
amillogems

What is SQL?
Structured Query Language

SQL is a programming language used to interact with relational databases.

It is used to perform CRUD operations :


Create
Read
Update
Delete

APNA
COLLEGE
amillogems

Database Structure

Database

Table 1 Table 2

Data Data

APNA
COLLEGE
amillogems

What is a table?

Student table

APNA
COLLEGE
amillogems

Creating our First Database


Our first SQL Query

CREATE DATABASE db_name;

DROP DATABASE db_name;

APNA
COLLEGE
amillogems

Creating our First Table


USE db_name;

CREATE TABLE table_name (


column_name1 datatype constraint,
column_name2 datatype constraint,
column_name2 datatype constraint
);

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

TINYINT UNSIGNED (0 to 255)

TINYINT (-128 to 127)

APNA
COLLEGE
amillogems

Types of SQL Commands

DDL (Data Definition Language) : create, alter, rename, truncate & drop

DQL (Data Query Language) : select

DML (Data Manipulation Language) : select, insert, update & delete

DCL (Data Control Language) : grant & revoke permission to users

APNA
TCL (Transaction Control Language) : start transaction, commit, rollback etc.

COLLEGE
amillogems

Database related Queries

CREATE DATABASE db_name;

CREATE DATABASE IF NOT EXISTS db_name;

DROP DATABASE db_name;

DROP DATABASE IF EXISTS db_name;

SHOW DATABASES;
APNA
SHOW TABLES; COLLEGE
amillogems

Table related Queries


Create

CREATE TABLE table_name (


column_name1 datatype constraint,
column_name2 datatype constraint,
);

APNA
COLLEGE
amillogems

Table related Queries


Select & View ALL columns

SELECT * FROM table_name;

APNA
COLLEGE
amillogems

Table related Queries


Insert

INSERT INTO table_name


(colname1, colname2);
VALUES
(col1_v1, col2_v1),
(col1_v2, col2_v2);

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.

NOT NULL columns cannot have a null value

UNIQUE all values in column are different

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

DEFAULT sets the default value of a column

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

SELECT col1, col2 FROM table_name;

To Select ALL

SELECT * FROM table_name;

APNA
COLLEGE
amillogems

Where Clause
To define some conditions

SELECT col1, col2 FROM table_name


WHERE conditions;

APNA
COLLEGE
amillogems

Where Clause
Using Operators in WHERE

Arithmetic Operators : +(addition) , -(subtraction), *(multiplication), /(division), %(modulus)

Comparison Operators : = (equal to), != (not equal to), > , >=, <, <=

Logical Operators : AND, OR , NOT, IN, BETWEEN, ALL, LIKE, ANY

Bitwise Operators : & (Bitwise AND), | (Bitwise OR)

APNA
COLLEGE
amillogems

Operators

AND (to check for both conditions to be true)

OR (to check for one of the conditions to be true)

APNA
COLLEGE
amillogems

Operators

Between (selects for a given range)

In (matches any value in the list)

APNA
NOT (to negate the given condition)

COLLEGE
amillogems

Limit Clause

Sets an upper limit on number of (tuples)rows to be returned

SELECT col1, col2 FROM table_name


LIMIT number;

APNA
COLLEGE
amillogems

Order By Clause

To sort in ascending (ASC) or descending order (DESC)

SELECT col1, col2 FROM table_name


ORDER BY col_name(s) ASC;

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( )

Get Average marks

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.

*Generally we use group by with some aggregation function.

Count number of students in each city

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

Table related Queries


Update (to update existing rows)

UPDATE table_name
SET col1 = val1, col2 = val2
WHERE condition;

APNA
COLLEGE
amillogems

Table related Queries


Delete (to delete existing rows)

DELETE FROM table_name


WHERE condition;

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

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
APNA
RENAME TO new_table_name; COLLEGE
amillogems

Table related Queries

CHANGE Column (rename)


ALTER TABLE table_name
CHANGE COLUMN old_name new_name new_datatype new_constraint;

MODIFY Column (modify datatype/ constraint)


ALTER TABLE table_name
MODIFY col_name new_datatype new_constraint;

APNA
COLLEGE
amillogems
ADD Column DROP Column

MODIFY Column RENAME Table

CHANGE Column (rename)

APNA
COLLEGE
amillogems

Table related Queries


Truncate (to delete table's data)

TRUNCATE TABLE table_name ;

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

Inner Join Left Join Right Join Full Join

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

Think & Ans


Qs: Write SQL commands to display the right exclusive join :

Left Exclusive Join Right Exclusive Join

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

SQL Sub Queries


A Subquery or Inner query or a Nested query is a query within another SQL query.

It involves 2 select statements.


Query

Syntax Sub Query

SELECT column(s)
FROM table_name
WHERE col_name operator
( subquery );

APNA
COLLEGE
amillogems

SQL Sub Queries


Example
Get names of all students who scored more than class average.

Step 1. Find the avg of class


Step 2. Find the names of students with marks > avg

APNA
COLLEGE
amillogems

SQL Sub Queries


Example
Find the names of all students with even roll numbers.

Step 1. Find the even roll numbers


Step 2. Find the names of students with even roll no

APNA
COLLEGE
amillogems

SQL Sub Queries


Example with FROM
Find the max marks from the students of Delhi

Step 1. Find the students of Mumbai


Step 2. Find their max marks using the sublist in step 1

APNA
COLLEGE
amillogems

MySQL Views
A view is a virtual table based on the result-set of an SQL statement.

*A view always shows up-to-date data. The


database engine recreates the view, every time a
APNA
user queries it.
COLLEGE

You might also like