You are on page 1of 40

THETNAUNGHTUT [SQL]

Table of Contents
SQL INTRO .............................................................................................................. 8

SQL Syntax ............................................................................................................. 9

SQL SELECT Statement ........................................................................................10

SQL SELECT DISTINCT Statement ...........................................................................11

SQL WHERE Clause ................................................................................................11

SQL AND & OR Operators.......................................................................................13

SQL ORDER BY Keyword ........................................................................................14

SQL INSERT INTO Statement ..................................................................................15

SQL UPDATE Statement .........................................................................................16

SQL DELETE Statement ..........................................................................................17

SQL TOP Clause .....................................................................................................18

SQL LIKE Operator .................................................................................................20

SQL Wildcards........................................................................................................21

SQL IN Operator.....................................................................................................22

SQL BETWEEN Operator .........................................................................................23

SQL Alias ...............................................................................................................24

SQL Joins ...............................................................................................................25

SQL INNER JOIN Keyword .......................................................................................26

SQL LEFT JOIN Keyword..........................................................................................27

SQL RIGHT JOIN Keyword .......................................................................................28

SQL FULL JOIN Keyword .........................................................................................29

SQL UNION Operator ..............................................................................................30

SQL SELECT INTO Statement..................................................................................31

SQL CREATE DATABASE Statement ........................................................................33

SQL CREATE TABLE Statement ...............................................................................33

1
THETNAUNGHTUT [SQL]

SQL Constraints .....................................................................................................34

SQL NOT NULL Constraint ......................................................................................34

SQL UNIQUE Constraint ..........................................................................................35

SQL PRIMARY KEY Constraint .................................................................................36

SQL CHECK Constraint ...........................................................................................37

SQL DEFAULT Constraint ........................................................................................39

2
THETNAUNGHTUT [SQL]

WINDOW PC mysql install


mysql installating sql XAMPP XAMPP

What is XAMPP?
Apache web server install MySQL, PHP
and Perl server ၌ XAMPP Apache
install XAMPP MySQL, PHP and Perl
download, extract and start
Apache internet server limit free
server

WINDOW XAMPP

(http://www.apachefriends.org/en/xampp-windows.html)

XAMPP package download


software window vista window7

Start control panelUser Accounts and Family SafetyTurn user Account Control on or off
[turn user account control on or off ]

Download XAMPP run run window


enter Yes or NO
yes run x y x run
Run XAMPP Control Panel Application Box start
XAMPP FOR WINDOW၊ XAMPP Control Panel Application Box
Apache and MySpl start running mysql

3
THETNAUNGHTUT [SQL]

SQL StartAll ProgramsAccessoriesCommand Prompt


StartRuncmd Command promt box mysql space bar ၊ -
uroot mysql –uroot -u user root default name
mySQL cmd message

Exit

(၁) - Command promt SQL SQL software


directory SQL directory

4
THETNAUNGHTUT [SQL]

Destop my computer right click properties Advanced Environment Variables


system variables PathEditvariable-value
;c:\xampp\mysql\bin

ok Start Run  cmd


mysql –uroot sql welcome monitor ၌ current sql
code command pront run

 (၂) - directory mysql


command promt user

 notepad
 notepad
 C:\XAMPP\mysql\bin\mysql.exe -uroot
 save save save .bat
- mysqlopen.bat
 bat file double click mysql -

5
THETNAUNGHTUT [SQL]

Sql installation

CONFIGURING MYSQL
MySQL installing MySQL configuring shoutcut
Start Search BoxSearch Box cmd cmd
right click Pin to start menu start menu cmd

copyDesktopright clickpaste shoutcut shoutcut


<c:\WINDOWS\system32> start in Window form
၊ Shoutcut right clickpropertieslayout

SETUP PASSWORD MYSQL


MySQL security password update password web
browser MySQL StartRuncmd screem
mysql –uroot mysql

6
THETNAUNGHTUT [SQL]

mysql> UPDATE mysql.user SET Password = PASSWORD ( ‘thetnaung’ ) WHERE User = ‘root’;
1 rows affected Query ok
mysql> FLUSH PRIVILEGES;

exit
> mysql –uroot
error password
> mysql -uroot –p
password password

password -
mysql> UPDATE mysql.user SET PASSWORD = Password WHERE User =’root’;

mysql> FLUSH PRIVILEGES;


password mysql –uroot

7
THETNAUNGHTUT [SQL]

SQL INTRO
WHAT IS MYSQL?
 SQL Structured Query Language (
) definition -
 MySQL database management system
 Database data Database
List database data
corporate network ( ) -
database computer database data add ၊
၊ MySQL Server database
management system computer
Database management system data
management central
standalone
application Database

 MySQL relational database management system


 Relational database storeroom
table data
(flexibility) Data
Database engine storeroom
computer database
SQL (Structured Query Language)
language database MySQL ၏ SQL
(Structured Query Language) standardlized language
SQL (American National Standards Institute) ANSI/ISO SQL Standard
SQL 1986 version manual
1992 “SQL-92” ၊ 1999 “SQL-
1999”၊ “SQL-2003” ၊ SQL current version
SQL current version

Why should we use MySQL?


 MySQL database popular Web
application LAMP software stack ၏ component database MySQL
eg PHP, WordPress, phpBB, Drupal software
LAMP software stack Wikipedia, Google and
Facebook MySQL MySQL highly
scalable website

What Can SQL do?


 Database
 Database data
 Database records
 Database records update
 Database record delete
 Database
SQL INTRO 8
THETNAUNGHTUT [SQL]

 Database table
 Database
 Database view
 Table, procedure, views

SQL CAN DIVIDED INTO TWO PART ARE (DML AND DDL)
 Data Manipulating Language(DML) - Data

 SELECT – Database data


 UPDATE – Database data
 DELETE – Database data delete
 INSERT INTO – Database data

Data Manipulattion Language(DML) - SQL ၏ DDL database table ၊


(key) Table link
Table DDL
statement
 CREATE DATABASE- DATABASE
 ALTER DATABASE- DATABASE modified
 CREATE TABLE- Table
 ALTER TABLE- Table modified
 DROP TABLE- Table delete
 CREATE INDEX- (search key)
 DROP INDEX- delete

SQL Syntax
Database Tables
Database table Table
( “ ” “ ” ) row record

“Persons”

P_ID LastName FirstName Address City


1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar St Yangon
3 Thetnaung Mg WinZin Meiktila
table records column field column field MgMg ,U, 21
Street value

SQL Statements
SQL statement
SQL statement records

SQL Syntax 9
THETNAUNGHTUT [SQL]

SELECT * FROM Persons

Semicolon after SQL Statements?


database system SQL statement semicolon Semicolon
database system SQL statement MS Access
SQL Server 2000 statement semicolon

SQL SELECT Statement


Select statement database data select

SQL SELECT Syntax -


SELECT column_ name
FROM name
And

SELECT * FROM table_name

SQL SELECT Example:


‘Persons’ Table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Dagon Yangon
2 KyawThu Mg 32 yatanar St Bahan Yangon
3 Thetnaung Mg WinZin Meiktila

columns LastName FirstName select


SELECT LastName, FirstName FROM Persons

Result:
LastName FirstName
MgMg U
KyawThu Mg
Thetnaung Mg

SELECT * Example
SELECT * FROM Persons
asterisk (*) star columns select
Result :
P_ID LastName FirstName Address City
1 MgMg U 21 Street Dagon Yangon
2 KyawThu Mg 32 yatanar St Bahan Yangon
3 Thetnaung Mg WinZin Meiktila

SQL SELECT Statement 10


THETNAUNGHTUT [SQL]

SQL SELECT DISTINCT Statement


Table column ( ၊
list select
distinct statement

SQL SELECT DISTINCT Syntax


SELECT DISTINCT column_name
FROM table_name

SELECT DISTINCT Example


The “Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Thetnaung Mg WinZin Meiktila
City select
distinct statement
SELECT DISTINCT City FROM Persons
Result -
City
Yangon
Meiktila

SQL WHERE Clause


The WERE clause record record

SQL WHERE Syntax


SELECT column _names
FROM table_name
WHERE column_name/ operator values

WHERE Clause Example


The “Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Thetnaung Mg WinZin Meiktila
SQL SELECT DISTINCT Statement 11
THETNAUNGHTUT [SQL]

Yangon select
SELECT * FROM Persons
WHERE City = ‘Yangon’
Result
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantanar Yangon

Quotes Around Text Fields

SQL single quote (Database system double


quotes ) quotes ( ‘ ’ )
example

For text values:

This is correct:
SELECT * FROM Persons WHERE FirstName = ‘U’

This is wrong:
SELECT * FROM Persons WHERE FirstNma = U
For numeric values:

This is correct:
SELECT * FROM Persons WHERE Year = 1986

This is wrong:
SELECT * FROM Persons WERE Year = ‘ 1965’
WHERE Clause operator
Operator Description
= Equl
<> Not equal
> Greater than
< Less than
>= Greate than or equal
<= Less than or equal
BETWEEN Between an inclusive range
( )
LIKE Search for a pattern
IN If you know the exact value you want to return for at least one of the columns
SQL version <> operator !=

SQL WHERE Clause 12


THETNAUNGHTUT [SQL]

SQL AND & OR Operators


AND & OR operator record

THE AND & OR Operators


AND operator condition condition record
display
OR Operator conditiuon condition ၊ record
display

AND Operator Example


The “Persons” table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 Yan Aung Mr TharkayTa Yangon

“Mg” first name၊ KyawThu last name

SELECT * FROM Persons


WHERE FirstName = ‘Mg’
AND LastName = ‘KyawThu’

P_ID LastName FirstName Address City


2 KyawThu Mg 32 yatanar Yangon

OR Operator Example
“Mg” “U”
statement

SELECT * FROM Persons WHERE FirstName = ‘U’


OR FirstName = ‘Mg’

Result
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila

Combining AND & OR


AND OR (
)

SQL AND & OR Operators 13


THETNAUNGHTUT [SQL]

Persons table kyaw Thu lastname ‘Mg’ ‘Mr’

SELECT * FROM Persons


WHERE LastName = ‘KyawThu’
AND (FirstName = ‘Mr’ OR FirstName = ‘Mg’)

Result
P_ID LastName FirstName Address City
2 KyawThu Mg 32 yantarnar Yangon

SQL ORDER BY Keyword


ORDER BY Keyword result sort ( )

The ORDER BY Keyword


 The ORDER BY Keyword column result sort
 The ORDER BY Keyword default ascending order (rising )
record sort
 Descending order (going down ) record sort DESC keyword

SQL ORDER BY Syntax


SELECT column_ names
FROM table_ name
ORDER BY column_ names ASC | DESC

ORDER BY Example
The “ Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 Yan Aung Mr TharkayTa Yangon

table lastname
sorting

SELECT * FROM Persons


ORDER BY LastName

SQL ORDER BY Keyword 14


THETNAUNGHTUT [SQL]

Result

ORDER BY DESC Example


descending

SELECT * FROM Persons


ORDER BY LastName DESC

Result
P_ID LastName FirstName Address City
4 Yan Aung Mr TharkayTa Yangon
3 Yan Naung Mg WinZin Meiktila
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon

SQL INSERT INTO Statement


INERT INTO statement table record (insert)
row

SQL INSERT INTO Syntax


1. statement
2. column

INSERT INTO table_


VALUES ( ၁ ၊၂ ၊၃ )

3. column
INSERT INTO table_ (column 1, column 2, column 3, )
VALUES ( ၁ ၊ ၂ ၊ ၃ , )

SQL INSERT INTO Example


The “Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
SQL INSERT INTO Statement 15
THETNAUNGHTUT [SQL]

2 KyawThu Mg 32 yatanar Yangon


3 Yan Naung Mg WinZin Meiktila
Persons table row
INSERT INTO Persons
VALUES (4, ‘NayLin’, ‘Mr’, ‘ 23 home’ , ‘Pyinmanar’)

P_ID LastName FirstName Address City


1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar

Insert Data Only in Specified Columns


statement data Column

INSERT INTO Persons ( P_ID, LastName, FirstName )


VALUES ( 5, ‘Min Aung’, ‘U’ )

P_ID LastName FirstName Address City


1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
5 Min Aung U

SQL UPDATE Statement


UPDATE statement table record update ( )
record update

SQL UPDATE Syntax


UPDATE table_
SET column 1 = value, column 2 = value 2, ….
WHERE some_column = some_value
WHERE clause column
WHERE clause table column record
data update

SQL UPDATE Statement 16


THETNAUNGHTUT [SQL]

SQL UPDATE Example


P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
5 Min Aung U
Persons table U Min Aung update
UPDATE Persons
SET Address = ‘Kannar road’ , City = ‘ Magway’
WHERE LastName = ‘ Min Aung’ AND FirstName = ‘U’
result
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
5 Min Aung U Kannar road Magway
SQL UPDATE Warning
Record update WHERE clause

UPDATE Persons
SET Address = ‘Kannar road’ , City = ‘ Magway’

Result:
P_ID LastName FirstName Address City
1 MgMg U Kannar road Magway
2 KyawThu Mg Kannar road Magway
3 Yan Naung Mg Kannar road Magway
4 NayLin Mr Kannar road Magway
5 Min Aung U Kannar road Magway

SQL DELETE Statement


DELETE statement table record row

SQL DELETE Syntax


DELETE FROM table_
WHERE some_column = some_value

SQL DELETE Statement 17


THETNAUNGHTUT [SQL]

WHERE clause column


table record example

SQL DELETE Example


“Person” table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
5 Min Aung U Kannar road Magway
Person table U Min Aung

DELETE FROM Persons


WHERE LastName = ‘Min Aung’ AND FirstName = ‘U’

P_ID LastName FirstName Address City


1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar

DELETE ALL ROWS


Table row -

DELETE FROM table_name

Or

DELETE * FROM table_name

SQL TOP Clause


Top clause record Top clause
record table record ၏
(impact)
database system top clause

SQL Server Syntax


SELECT TOP number | percent column_
FROM table_name

SQL SELECT TOP Equivalent in MySQL and Oracle


SQL TOP Clause 18
THETNAUNGHTUT [SQL]

MySQL Syntax
SELECT column_
FROM table_
LIMIT number
Example
SELECT *
FROM Persons
LIMIT 5

Oracle Syntax
SELECT column_
FROM table_name
WHERE ROWNUM <= number
Example
SELECT *
FROM Persons
WHERE ROWNUM <= 5

SQL TOP Example


The “Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
table record select

SELECT TOP 2 *
FROM Persons

Result
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatarnar Yangon

SQL TOP PERCENT Example


The “Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
table record ၏ select

SELECT TOP 50 PERCENT *


FROM Persons
SQL TOP Clause 19
THETNAUNGHTUT [SQL]

Result
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon

SQL LIKE Operator


LIKE operator WHERE clause column pattern

SQL LIKE Syntax


SELECT column_
FROM table_
WHERE column_ LIKE pattern

LIKE Operator Example


The “Persons”table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
 “Y” city

SELECT * FROM Persons


WHERE City LIKE ‘Y%’

Result -
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
 “%” wildcards( pattern )

 “Persons” table “n” city


SELECT * FROM Persons
WHERE City LIKE ‘%n’

Result -
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon

SQL LIKE Operator 20


THETNAUNGHTUT [SQL]

“Persons” table “eik” city pattern

SELECT * FROM Persons


WHERE City LIKE ‘%eik%’

Result -
P_ID LastName FirstName Address City
3 Yan Naung Mg WinZin Meiktila

 NOT keyword city “eik” person select

SELECT *
FROM Persons
WHERE City NOT LIKE ‘eik’

Result -
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon

SQL Wildcards
SQL wildcards database data

SQL Wildcards
 SQL wildcards database data character ( )

 SQL wildcards SQL LIKE operator


Wildcard Description
% character
_ character
[charlist] Charlist character
[^charlist] Charlist character
Or
[!charlist]

SQL Wildcards Example


The “Persons” table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon

SQL Wildcards 21
THETNAUNGHTUT [SQL]

3 Yan Naung Mg WinZin Meiktila

Using the _Wildcard


Persons table lastname “yawThu” ၏ character ၊
select
SELECT * FROM Persons
WHERE FirstName LIKE ‘_yawThu’

Result -
P_ID LastName FirstName Address City
2 KyawThu Mg 32 yantarnar Yangon

Using the [charlist]Wildcard


Persons table “b” or “y” or “k” lastname select
SELECT *
FROM Persons
WHERE LastName LIKE ‘[ byk]%’

Result
P_ID LastName FirstName Address City
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila
Pesons table “b” or “y” or “k” select
SELECT *
FROM Persons
WHERE LastName LIKE ‘[ !byk]%’

Result -
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon

SQL IN Operator
IN operator WHERE clause

SQL IN Syntax
SELECT column_
FROM table_name
WHERE column_ IN ( value 1, value2,…)

IN Operator Example
The “Persons” table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
SQL IN Operator 22
THETNAUNGHTUT [SQL]

3 Yan Naung Mg WinZin Meiktila


Persons table last name “MgMg” or “KyawThu” Persons

SELECT * FROM Persons


WHERE LastNmae IN ( ‘MgMg’ , ‘KyawThu”)

Result -
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon

SQL BETWEEN Operator


BETWEEN operator data (range) select WHERE clause
number ၊ text date

SQL BETWEEN Syntax


SELECT column_
FROM table_
WHERE column_
BETWEEN value1 AND value2

BETWEEN Operator Example


The “Persons” table

P_ID LastName FirstName Address City


1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila
table alphabetically “MgMg” “Yan Naung” select

SELECT * FROM Persons


WHERE LastName
BETWEEN ‘MgMg’ AND ‘Yan Naung’

Result
P_ID LastName FirstName Address City

SQL BETWEEN Operator 23


THETNAUNGHTUT [SQL]

1 MgMg U 21 Street Yangon


3 Yan Naung Mg WinZin Meiktila
databases , -MgMg Yan Naung table
list ၊ BETWEEN operator (test)
field select
field

P_ID LastName FirstName Address City

MgMg list ၊ Yan Naung list BETWEEN operator test


list
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon

Example 2
example NOT BETWEEN
SELECT * FROM Persons
WHERE LastName
NOT BETWEEN ‘MgMg’ AND ‘Yan Naung’

Result -
P_ID LastName FirstName Address City
2 KyawThu Mg 32 yantarnar Yangon

SQL Alias
alias table ( ) column ( )
( ) table
( ) column

SQL Alias Syntax for Tables


SELECT column_
FROM table_
AS alias_

SQL Alias Syntax for Columns


SELECT column_name AS alias_name
FROM table_name

Alias Example
“Persons” table “Product_Orders” table Persons
“p” ၊ Product_Orders “pro”

SQL Alias 24
THETNAUNGHTUT [SQL]

SELECT po.OrderID, p.LastName, p.FirstName


FROM Persons AS p,
Product_Orders AS po
WHERE p.LastName = ‘MgMg’ AND p.FirstName = ‘U’

Aliases SELECT statement


SELECT Product_Orders.OrderID, Persons.LastName, Persons. FirstName
FROM Persons,
Product_Orders
WHERE Persons.LastName = ‘MgMg’ AND Persons.FirstName = ‘U’

SQL Joins
 SQL joins table ( ) table
table column
 Database table key
 Primary key row unique column ( column
) Primary ၏ table unique ( )
table data table
data (bind)
Persons table ၌
P_Id LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila
“P_Id” column “Persons” table primary key
“P_Id” row P_Id person
Orders table:
O_Id OrderNo P_Id
1 12345 3
2 67890 3
3 112233 1
4 112234 1
5 112235 15
“O_Id” column “Orders” table primary key “P_Id” column
“Persons” table person “P_Id”
column table
Different SQL JOINS
Example JOIN type list
 JOIN
 LEFT JOIN
 RIGHT JOIN
 FULL JOIN

SQL Joins 25
THETNAUNGHTUT [SQL]

SQL INNER JOIN Keyword


INNER JOIN keyword table row

INNER JOIN Syntax


SELECT column_
FROM table_ 1
INNER JOIN table_ 2
ON table_ 1.column_ = table_ 2. column_
PS: INNER JOIN JOIN

SQL INNER JOIN Example


The “Persons” table:
P_Id LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila

The “ Orders” table:


O_Id OrderNo P_Id
1 123 3
2 456 3
3 789 1
4 012 1
5 345 15
order person list
SELECT Persons.LastName, Persons.FirstName, Orders.orderNo
FROM Persons
INNER JOIN Orders
ON Persons.P_Id = Orders.P_Id
ORDER BY Persons.LastName

Result
LastName FirstName OrderNo
MgMg U 789
MgMg U 012
YanNaung Mg 123
YanNaung Mg 456
INNER JOIN keyword table row
“Persons” “Orders”
row listed

SQL INNER JOIN Keyword 26


THETNAUNGHTUT [SQL]

SQL LEFT JOIN Keyword


LEFT JOIN keyword left table ( table_ 1) row table (table_ 2)
table
SQL LEFT JOIN Syntax
SELECT column_
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name = table_name2.column_name
PS: database LEFT JOIN LEFT OUTER JOIN
SQL LEFT JOIN Example
The “Persons” table:
P_Id LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila

The “Orders” table:


O_Id OrderNo P_Id
1 123 3
2 456 3
3 789 1
4 012 1
5 345 15

table Persons ၏ Order list


SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P Id= Orders.P_Id
ORDER BY Persons.LastName

result

LEFT JOIN keyword table (Persons) (Orders)

SQL LEFT JOIN Keyword 27


THETNAUNGHTUT [SQL]

SQL RIGHT JOIN Keyword


RIGHT JOIN keyword table ( table_name2) row left table (table_name1)

SQL RIGHT JOIN Syntax


SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name = table_name2.column_name
database RIGHT JOIN RIGHT OUTER JOIN

SQL RIGHT JOIN Esample


The “Persons” table:
P_Id LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila

The “Orders” table:


O_Id OrderNo P_Id
1 123 3
2 456 3
3 789 1
4 012 1
5 345 15

table Order List


SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P Id = Orders.P_Id
ORDER BY Persons.LastName

result
LastName FirstName OrderNo
MgMg U 789
MgMg U 012
YanNaung Mg 123
YanNaung Mg 456
345

SQL RIGHT JOIN Keyword 28


THETNAUNGHTUT [SQL]

SQL FULL JOIN Keyword


FULL JOIN keyword table ၏ row

SQL FULL JOIN Syntax


SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name = table_name2.column_name
The “Persons” table:
P_Id LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila
The “Orders” table:
O_Id OrderNo P_Id
1 123 3
2 456 3
3 789 1
4 012 1
5 345 15
table Order List

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo


FROM Persons
FULL JOIN Orders
ON Persons.P_Id= Orders.P_Id
ORDER BY Persons.LastName

result
LastName FirstName OrderNo
MgMg U 789
MgMg U 012
YanNaung Mg 123
YanNaung Mg 456
Kyaw Thu Mg
345
FULL JOIN keyword table row ၊ table row
Person table row Order table match
၊ Orders table row Persons table match
row list

SQL FULL JOIN Keyword 29


THETNAUNGHTUT [SQL]

SQL UNION Operator


 SQL UNION operator ( ) SELECT statement combines ( )

 UNION SELECT statement columns


columns data type SELECT statement column
order

SQL UNION Syntax


SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
UNION operator default (distinct) select
(duplicate) UNION ALL

SQL UNION ALL Syntax


SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
PS: UNION ၏ result-set column name UNION SELECT statement
column

SQL UNION Example


“Employees_Yangon”:
E_ID E_Name
01 U Kyaw Thu
02 U Min Soe
03 Mg Yel Soe
04 Mg Zaw Naing

“Employees_Mandalay”:
E_ID E_Name
01 U Yar Zar
02 U Nay Naing
03 Mg Yel Soe
04 Mg Zar Ni
(employees) list -
SELECT E_Name FROM Employees_Yangon
UNION
SELECT E_Name FROM Employees_Mandalay

result
E_Name
U Kyaw Thu
U Min Soe
Mg Yel Soe

SQL UNION Operator 30


THETNAUNGHTUT [SQL]

Mg Zaw Naing
U Yar Zar
U Nay Naing
Mg Zar Ni
command list
List
UNION command (distinct) select

SQL UNION ALL Example


list
SELECT E_Name FROM Employees_Yangon
UNION ALL
SELECT E_Name FROM Employees_Mandalay

Result:
E_Name
U Kyaw Thu
U Min Soe
Mg Yel Soe
Mg Zaw Naing
U Yar Zar
U Nay Naing
Mg Yel Soe
Mg Zar Ni

SQL SELECT INTO Statement


 SQL SELECT INTO statement table (backup copies)
 SELECT INTO statement table data ၊ table

SQL SELECT INTO Syntax


column table

SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename

( ) column table

SELECT column_name(s)
INTO new_table_name [in externaldatabase]

SQL SELECT INTO Statement 31


THETNAUNGHTUT [SQL]

FROM old_tablename

SQL SELECT INTO Example

 Backup Copy - “Person” table data copy


statement
SELECT *
INTO Persons_Backup
FROM Persons

 table copy database IN clause

SELECT *
INTO Persons_Backup IN ‘Backup.mdb’
FROM Persons

 field table -
SELECT LasrName, FirstName
INTO Persons_Backup
FROM Persons

SQL SELECT INTO- With a WHERE Clause

WHERE clause add SQL statement “Yangon”


table “Backup”

SELECT LastName, FirstName


INTO Persons_Backup
FROM Persons
WHERE City = ‘Yangon’

SQL SELECT INTO – Joined Tables

Table data select ၊


SELECT Persons.LastName, Orders.OrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.P_Id = Order.P_Id
“Persons” table “Orders” table data “Persons_Order _Backup”

SQL SELECT INTO Statement 32


THETNAUNGHTUT [SQL]

SQL CREATE DATABASE Statement


CREATE DATABASE statement database

SQL CREATE DATABASE Syntax


CREATE DATABASE database_name

CREATE DATABASE Example


database
CREATE DATABASE my_db
CREATE TABLE statement database table add

SQL CREATE TABLE Statement


CRTEATE TABLE statement Database table

SQL CREATE TABLE Syntax


CREATE TABLE table_name
(
Column_name1 data_type,
Column_name2 data_type,
Column_name3 data_type

)
data_type column data type data type
MS Access, MySQL, and SQL Server Data
types reference

CREATE TABLE Example


column “Persons” table column
- P_Id, LastName, FirstName, Address, and City
CREATE TABLE Persons
(
P_Id int,
LastName varchar (255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

SQL CREATE DATABASE Statement 33


THETNAUNGHTUT [SQL]

P_Id type int


LastName, FirstName, Address, and City column varchar type
255

Result data “Persons” table


P_Id LastName FirstName Address City

INSERT STATEMENT empty table data

SQL Constraints
 Constraints data type limit
 Constraints table (CREATE TABLE statement ) table
(ALTER TABLE statement )
constraints Constraint
 NOT NULL
 UNIQUE
 PRIMARY KEY
 FOREIGN KEY
 CHECK
 DEFAULT
constraint ၏

SQL NOT NULL Constraint


Table table column Default NULL ၊

SQL NOT NULL Constraint


NOT NULL constraint NULL NULL example

CREATE TABLE Persons


(
P_ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar (255),
City varchar (255)
)
“P_id” column “LastName” column default NULL

SQL Constraints 34
THETNAUNGHTUT [SQL]

SQL UNIQUE Constraint


 UNIQUE constraint database table record [ (uniquely) ( )
]
 UNIQUE PRIMARY KEY constraint column column

 PRIMARY KEY constraint UNIQUE constraint


 Table UNIQUE constraints PRIMAEY KEY constraint

SQL UNIQUE Constraint on CREATE TABLE


“Persons” table “P_ID” column UNIQUE constraint
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstNam e varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)

SQL Server / Oracle / MS Acess:


CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar (255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City v archar(255)

Column UNIQUE constraint SQL syntax

CREATE TABLE Persons


(
P_Kd int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRANT uc_PersonID UNIQUE (P_Id, LastName)

SQL UNIQUE Constraint 35


THETNAUNGHTUT [SQL]

SQL UNIQUE Constraint on ALTER TABLE


Table “P_Id” column UNIQUE constraint
syntax

MySQL / SQL Server/ Oracle/ MS Access:


ALTER TABLE Persons
ADD UNIQUE (P_Id)

Column ၌ UNIQUE constraint syntax

MySQL/ SQL Server/ Oracle/ MS Acess:


ALTER TABLE Persons
ADD CONSTRINT uc_PersonID UNIQUE (P_Id, LastName)

TO DROP a UNIQUE Constraint


UNIQUE constraint drop syntax

MySQL:
ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server/ Oracle/ MS Access:


ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID

SQL PRIMARY KEY Constraint


 PRIMAEY KEY constraint database table record
 Primary key column NULL
 Table primary key primary key

SQL PRIMARY KEY Constraint on CREATE TABLE


Table “P_Id” column PRIMARY KEY

MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL
LastName varchar (255) NOT NULL,

SQL PRIMARY KEY Constraint 36


THETNAUNGHTUT [SQL]

FirstName varchar(255),
Address varchar (255),
PRIMARY KEY (P_Id)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar (255) ,
Address varchar (255),
City varchar (255)
)

SQL PRIMARY KEY Constraint on ALTER TABLE


Table “P_Id” PRIMARY KEY
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonsID PRIMARY KEY (P_Id, LastName)
ALTER TABLE statement primary key
table primary key column NULL

To DROP a PRIMARY KEY Constraint


PRIMARY KEY constraint drop -
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

SQL CHECK Constraint


 CHECK constraint column value range limit
 Column CHECK constraint column

 Table CHECK constraint row column


column CHECK constraint limit

SQL CHECK Constraint on CREATE TABLE


Persons table P_Id column ၌ CHECK constraint create CHECK
constraint P_Id column “0” integer

MySQL:
CREATE TABLE Persons

SQL CHECK Constraint 37


THETNAUNGHTUT [SQL]

(
P_Id int NOT NULL,
LastName varchar (255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar (255),
CHECR (P_Id>0)
)

SQL Server / Oracle / MS Access:


CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FIrestName varhcar (255),
Address varchar (255),
City varchar (255)
)

Multiple( )column CHECK constraint syntax

MySQL / SQL Server / Oracle / MS Access:


CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar (255) NOT NULL,
FirstName varchar (255),
Address varchar (255),
City varchar (255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City = ‘Yangon’)

SQL CHECK Constraint on ALTER TABLE


Table CHECK constaint syntax

MySQL / SQL Server / Oracle / MS Access:


ALTER TABLE Persons
ADD CHECK (P_Id>0)

column CHECK constraint -


MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City = ‘Yangon’’)

To DROP a CHECK Constraint


CHECK constraint syntax

SQL CHECK Constraint 38


THETNAUNGHTUT [SQL]

ALTER TABLE Persons


DROP CONSTRAINT chk_Person

SQL DEFAULT Constraint


DFFAULT constraint column default

SQL DEFAULT Constrint on CREATE TABLE


Persons table City column DEFAULT constraint
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) ,
Address varchar(255),
City varchar (255) DEFAULE ‘Myanmar’
Default constraint GETDATE() function system

CREATE TABLE Orders


(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)

SQL DEFAULE Constrint on ALTER TABLE


Table “City” column DEFAULT constraint
-

MySQL:
ALTER TABLE Persons
ALTER Country SET DEFAULT ‘Yangon’

SQL Server / Oracle / MS Access:


ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT ‘ Yangon’

DEFAULT Constraint
MySQL:
ALTER TABLE Persons
ALTER City DROP DEFAULT

SQL DEFAULT Constraint 39


THETNAUNGHTUT [SQL]

SQL Server / Oracle / MS Access:


ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT

SQL DEFAULT Constraint 40

You might also like