SlideShare a Scribd company logo
Introduction to Structured Query
Language (SQL)
CHAPTER 4
Introduction to SQL
SQL functions fit into two broad categories:
◦ Data definition language
◦ SQL includes commands to:
◦ Create database objects, such as tables, indexes, and views
◦ Define access rights to those database objects
◦ Data manipulation language
◦ Includes commands to insert, update, delete, and retrieve data within database tables
2
SQL is relatively easy to learn
Basic command set has vocabulary of less than 100 words
Nonprocedural language
American National Standards Institute (ANSI) prescribes a standard SQL
Several SQL dialects exist
3
4
5
6
Data Definition Commands
Examine simple database model and database tables that will form
basis for many SQL examples
Understand data environment
7
The Database Model
8
Creating the Database
Following two tasks must be completed:
◦ Create database structure
◦ Create tables that will hold end-user data
First task:
◦ RDBMS creates physical files that will hold database
◦ Tends to differ substantially from one RDBMS to another
9
The Database Schema
Authentication
◦ Process through which DBMS verifies that only registered users are able to
access database
◦ Log on to RDBMS using user ID and password created by database
administrator
Schema
◦ Group of database objects—such as tables and indexes—that are related to
each other
10
Data Types
Data type selection is usually dictated by nature of data and by
intended use
Pay close attention to expected use of attributes for sorting and data
retrieval purposes
11
12
Creating Table Structures
Use one line per column (attribute) definition
Use spaces to line up attribute characteristics and constraints
Table and attribute names are capitalized
NOT NULL specification
UNIQUE specification
13
Primary key attributes contain both a NOT NULL and a UNIQUE
specification
RDBMS will automatically enforce referential integrity for foreign keys
Command sequence ends with semicolon
14
SQL Constraints
NOT NULL constraint
◦Ensures that column does not accept nulls
UNIQUE constraint
◦Ensures that all values in column are unique
DEFAULT constraint
◦Assigns value to attribute when a new row is added to
table
CHECK constraint
◦Validates data when attribute value is entered
15
SQL Indexes
When primary key is declared, DBMS
automatically creates unique index
Often need additional indexes
Using CREATE INDEX command, SQL indexes
can be created on basis of any selected
attribute
Composite index
◦Index based on two or more attributes
◦Often used to prevent data duplication
16
Data Manipulation
Commands
Adding table rows
Saving table changes
Listing table rows
Updating table rows
Restoring table contents
Deleting table rows
Inserting table rows with a select subquery
17
Adding Table Rows
INSERT
◦ Used to enter data into table
◦ Syntax:
◦ INSERT INTO columnname
VALUES (value1, value2, … , valuen);
18
When entering values, notice that:
◦Row contents are entered between parentheses
◦Character and date values are entered between
apostrophes
◦Numerical entries are not enclosed in apostrophes
◦Attribute entries are separated by commas
◦A value is required for each column
Use NULL for unknown values
19
Saving Table Changes
Changes made to table contents are not physically
saved on disk until, one of the following occurs:
◦Database is closed
◦Program is closed
◦COMMIT command is used
Syntax:
◦COMMIT [WORK];
Will permanently save any changes made to any
table in the database
20
Listing Table Rows
SELECT
◦ Used to list contents of table
◦ Syntax:
◦ SELECT columnlist
FROM tablename;
Columnlist represents one or more attributes, separated by commas
Asterisk can be used as wildcard character to list all attributes
21
Updating Table Rows
UPDATE
◦ Modify data in a table
◦ Syntax:
◦ UPDATE tablename
SET columnname = expression [, columname = expression]
[WHERE conditionlist];
If more than one attribute is to be updated in row, separate corrections
with commas
22
Restoring Table Contents
ROLLBACK
◦Used to restore database to its previous condition
◦Only applicable if COMMIT command has not been
used to permanently store changes in database
Syntax:
◦ROLLBACK;
COMMIT and ROLLBACK only work with data
manipulation commands that are used to add,
modify, or delete table rows
23
Deleting Table Rows
DELETE
◦ Deletes a table row
◦ Syntax:
◦ DELETE FROM tablename
[WHERE conditionlist ];
WHERE condition is optional
If WHERE condition is not specified, all rows from specified table will be
deleted
24
Inserting Table Rows with
a
Select Subquery
INSERT
◦ Inserts multiple rows from another table (source)
◦ Uses SELECT subquery
◦ Query that is embedded (or nested) inside another query
◦ Executed first
◦ Syntax:
◦ INSERT INTO tablename SELECT columnlist FROM tablename;
25
Selecting Rows with
Conditional Restrictions
Select partial table contents by placing restrictions on rows to be
included in output
◦ Add conditional restrictions to SELECT statement, using WHERE clause
Syntax:
◦ SELECT columnlist
FROM tablelist
[ WHERE conditionlist ] ;
26
27
Selecting Rows with
Conditional Restrictions
(continued)
28
Arithmetic Operators:
The Rule of Precedence
Perform operations within parentheses
Perform power operations
Perform multiplications and divisions
Perform additions and subtractions
29
30
Special Operators
BETWEEN
◦ Used to check whether attribute value is within a range
IS NULL
◦ Used to check whether attribute value is null
LIKE
◦ Used to check whether attribute value matches given string pattern
31
IN
◦ Used to check whether attribute value matches any value within a value list
EXISTS
◦ Used to check if subquery returns any rows
32
Advanced Data Definition
Commands
All changes in table structure are made by using ALTER command
◦ Followed by keyword that produces specific change
◦ Following three options are available:
◦ ADD
◦ MODIFY
◦ DROP
33
Changing a Column’s Data
Type
ALTER can be used to change data type
Some RDBMSs (such as Oracle) do not permit changes to data types
unless column to be changed is empty
34
Changing a Column’s Data
Characteristics
Use ALTER to change data characteristics
If column to be changed already contains data, changes in column’s
characteristics are permitted if those changes do not alter the data type
35
Adding a Column
Use ALTER to add column
◦ Do not include the NOT NULL clause for new column
36
Dropping a Column
Use ALTER to drop column
◦ Some RDBMSs impose restrictions on the deletion of an attribute
37
Advanced Data Updates
38
Copying Parts of Tables
SQL permits copying contents of selected table columns so that the
data need not be reentered manually into newly created table(s)
First create the PART table structure
Next add rows to new PART table using PRODUCT table rows
39
Adding Primary and
Foreign Key Designations
When table is copied, integrity rules do not copy, so primary and
foreign keys need to be manually defined on new table
User ALTER TABLE command
◦ Syntax:
◦ ALTER TABLE tablename ADD
PRIMARY KEY(fieldname);
◦ For foreign key, use FOREIGN KEY in place of PRIMARY KEY
40
Deleting a Table from the
Database
DROP
◦ Deletes table from database
◦ Syntax:
◦ DROP TABLE tablename;
41
Advanced Select Queries
SQL provides useful functions that can:
◦ Count
◦ Find minimum and maximum values
◦ Calculate averages
SQL allows user to limit queries to only those entries having no
duplicates or entries whose duplicates may be grouped
42
Aggregate Functions
43
44
45
46
47
Grouping Data
48
49
50
Virtual Tables: Creating a
View
View is virtual table based on SELECT query
◦ Can contain columns, computed columns, aliases, and aggregate functions
from one or more tables
Base tables are tables on which view is based
Create view by using CREATE VIEW command
51
52
Joining Database Tables
Ability to combine (join) tables on common attributes is most important
distinction between relational database and other databases
Join is performed when data are retrieved from more than one table at
a time
Join is generally composed of an equality comparison between foreign
key and primary key of related tables
53
Joining Tables with an
Alias
Alias can be used to identify source table
Any legal table name can be used as alias
Add alias after table name in FROM clause
◦ FROM tablename alias
54
Summary
SQL commands can be divided into two overall categories:
◦ Data definition language commands
◦ Data manipulation language commands
The ANSI standard data types are supported by all RDBMS vendors in
different ways
Basic data definition commands allow you to create tables, indexes, and
views
55
DML commands allow you to add, modify, and
delete rows from tables
The basic DML commands are SELECT, INSERT,
UPDATE, DELETE, COMMIT, and ROLLBACK
INSERT command is used to add new rows to tables
SELECT statement is main data retrieval command
in SQL
56
Many SQL constraints can be used with columns
The column list represents one or more column names separated by
commas
WHERE clause can be used with SELECT, UPDATE, and DELETE
statements to restrict rows affected by the DDL command
57
Aggregate functions
◦ Special functions that perform arithmetic computations over a set of rows
ORDER BY clause
◦ Used to sort output of SELECT statement
◦ Can sort by one or more columns and use either an ascending or descending
order
Join output of multiple tables with SELECT statement
58
Natural join uses join condition to match only rows with equal values in
specified columns
Right outer join and left outer join used to select rows that have no
matching values in other related table
59

More Related Content

PPTX
Presentation slides of Sequence Query Language (SQL)
Punjab University
 
PDF
Chapter 4 Structured Query Language
Eddyzulham Mahluzydde
 
PPTX
Sql commands
Pooja Dixit
 
PPTX
Structured query language(sql)ppt
Gowarthini
 
PPTX
Sql(structured query language)
Ishucs
 
PPTX
SQL
Vineeta Garg
 
PPT
Introduction to-sql
BG Java EE Course
 
PPTX
SQL for interview
Aditya Kumar Tripathy
 
Presentation slides of Sequence Query Language (SQL)
Punjab University
 
Chapter 4 Structured Query Language
Eddyzulham Mahluzydde
 
Sql commands
Pooja Dixit
 
Structured query language(sql)ppt
Gowarthini
 
Sql(structured query language)
Ishucs
 
Introduction to-sql
BG Java EE Course
 
SQL for interview
Aditya Kumar Tripathy
 

What's hot (20)

PPTX
Basic SQL and History
SomeshwarMoholkar
 
PDF
SQL Overview
Stewart Rogers
 
PDF
Sql tutorial
Rumman Ansari
 
PPTX
SQL Commands
Sachidananda M H
 
PPT
Introduction to sql
VARSHAKUMARI49
 
PPT
Mysql
TSUBHASHRI
 
PPTX
SQL - Structured query language introduction
Smriti Jain
 
PDF
Oracle SQL Basics
Dhananjay Goel
 
PPTX
Sql and Sql commands
Knowledge Center Computer
 
PPTX
Sql Constraints
I L0V3 CODING DR
 
PPT
Joins in SQL
Vigneshwaran Sankaran
 
PPTX
SQL - DML and DDL Commands
Shrija Madhu
 
PPT
Aggregate functions
sinhacp
 
PPT
SQL Tutorial - Basic Commands
1keydata
 
ODP
Introduction to triggers
Command Prompt., Inc
 
PPT
Sql Tutorials
Priyabrat Kar
 
PPTX
Basic sql Commands
MUHAMMED MASHAHIL PUKKUNNUMMAL
 
PPT
Sql Server Basics
rainynovember12
 
Basic SQL and History
SomeshwarMoholkar
 
SQL Overview
Stewart Rogers
 
Sql tutorial
Rumman Ansari
 
SQL Commands
Sachidananda M H
 
Introduction to sql
VARSHAKUMARI49
 
Mysql
TSUBHASHRI
 
SQL - Structured query language introduction
Smriti Jain
 
Oracle SQL Basics
Dhananjay Goel
 
Sql and Sql commands
Knowledge Center Computer
 
Sql Constraints
I L0V3 CODING DR
 
Joins in SQL
Vigneshwaran Sankaran
 
SQL - DML and DDL Commands
Shrija Madhu
 
Aggregate functions
sinhacp
 
SQL Tutorial - Basic Commands
1keydata
 
Introduction to triggers
Command Prompt., Inc
 
Sql Tutorials
Priyabrat Kar
 
Basic sql Commands
MUHAMMED MASHAHIL PUKKUNNUMMAL
 
Sql Server Basics
rainynovember12
 
Ad

Similar to Introduction to structured query language (sql) (20)

PPT
Introduction to Structured Query Language (SQL).ppt
JohnnySebastian4
 
PPT
Lec 1 = introduction to structured query language (sql)
Faisal Anwar
 
PPT
15925 structured query
Universitas Bina Darma Palembang
 
PPT
Introduction to Structured Query Language (SQL) (1).ppt
ComputerScienceDepar6
 
PDF
Intruduction to SQL.Structured Query Language(SQL}
IlgarKarimov3
 
PPT
Introduction to Structured Query Language (SQL).ppt
Ashwini Rao
 
PDF
Session 1 - Databases-JUNE 2023.pdf
SwapnilSaurav7
 
PPTX
Introduction to structured query language (sql) (1)
RajniKashyap9
 
PPT
chap 7.ppt(sql).ppt
arjun431527
 
PPT
SQL Inteoduction to SQL manipulating of data
Vibrant Technologies & Computers
 
PPT
Sql server T-sql basics ppt-3
Vibrant Technologies & Computers
 
PPT
Chap 7
Karan Patil
 
PPTX
Database Overview
Livares Technologies Pvt Ltd
 
PPT
Chapt7.ppt
ImXaib
 
PPTX
Relational Database Language.pptx
Sheethal Aji Mani
 
PPTX
SQL(database)
welcometofacebook
 
PPTX
SQL.pptx for the begineers and good know
PavithSingh
 
PPT
Review of SQL
Information Technology
 
PPTX
Relational Database Management System
Mian Abdul Raheem
 
PPT
chapter 8 SQL.ppt
YitbarekMurche
 
Introduction to Structured Query Language (SQL).ppt
JohnnySebastian4
 
Lec 1 = introduction to structured query language (sql)
Faisal Anwar
 
15925 structured query
Universitas Bina Darma Palembang
 
Introduction to Structured Query Language (SQL) (1).ppt
ComputerScienceDepar6
 
Intruduction to SQL.Structured Query Language(SQL}
IlgarKarimov3
 
Introduction to Structured Query Language (SQL).ppt
Ashwini Rao
 
Session 1 - Databases-JUNE 2023.pdf
SwapnilSaurav7
 
Introduction to structured query language (sql) (1)
RajniKashyap9
 
chap 7.ppt(sql).ppt
arjun431527
 
SQL Inteoduction to SQL manipulating of data
Vibrant Technologies & Computers
 
Sql server T-sql basics ppt-3
Vibrant Technologies & Computers
 
Chap 7
Karan Patil
 
Database Overview
Livares Technologies Pvt Ltd
 
Chapt7.ppt
ImXaib
 
Relational Database Language.pptx
Sheethal Aji Mani
 
SQL(database)
welcometofacebook
 
SQL.pptx for the begineers and good know
PavithSingh
 
Review of SQL
Information Technology
 
Relational Database Management System
Mian Abdul Raheem
 
chapter 8 SQL.ppt
YitbarekMurche
 
Ad

More from Sabana Maharjan (20)

PDF
All in one mis
Sabana Maharjan
 
PPTX
All in one mis
Sabana Maharjan
 
PPTX
M commerce
Sabana Maharjan
 
PPTX
E marketing
Sabana Maharjan
 
PDF
Onlineshhopping final
Sabana Maharjan
 
PPTX
Online shopping presentation
Sabana Maharjan
 
PPTX
Erlonggg
Sabana Maharjan
 
PPTX
Er diagram
Sabana Maharjan
 
PPTX
Er long
Sabana Maharjan
 
PPTX
Relational model
Sabana Maharjan
 
DOCX
Good food for better life
Sabana Maharjan
 
DOCX
Do not think about any consequences just travel around nepal
Sabana Maharjan
 
DOCX
5 best place to watch sunrise and sunset naturally
Sabana Maharjan
 
DOCX
Newari food
Sabana Maharjan
 
DOCX
This is indeed a life time experience
Sabana Maharjan
 
DOCX
File tracking system
Sabana Maharjan
 
PPTX
MIS enterprise system for collaboration
Sabana Maharjan
 
PPTX
Mis presentation
Sabana Maharjan
 
PPTX
Chapter9
Sabana Maharjan
 
PPTX
Chapter8
Sabana Maharjan
 
All in one mis
Sabana Maharjan
 
All in one mis
Sabana Maharjan
 
M commerce
Sabana Maharjan
 
E marketing
Sabana Maharjan
 
Onlineshhopping final
Sabana Maharjan
 
Online shopping presentation
Sabana Maharjan
 
Erlonggg
Sabana Maharjan
 
Er diagram
Sabana Maharjan
 
Relational model
Sabana Maharjan
 
Good food for better life
Sabana Maharjan
 
Do not think about any consequences just travel around nepal
Sabana Maharjan
 
5 best place to watch sunrise and sunset naturally
Sabana Maharjan
 
Newari food
Sabana Maharjan
 
This is indeed a life time experience
Sabana Maharjan
 
File tracking system
Sabana Maharjan
 
MIS enterprise system for collaboration
Sabana Maharjan
 
Mis presentation
Sabana Maharjan
 
Chapter9
Sabana Maharjan
 
Chapter8
Sabana Maharjan
 

Recently uploaded (20)

PPTX
INFO8116 - Week 10 - Slides.pptx big data architecture
guddipatel10
 
PPTX
The whitetiger novel review for collegeassignment.pptx
DhruvPatel754154
 
PPTX
Measurement of Afordability for Water Supply and Sanitation in Bangladesh .pptx
akmibrahimbd
 
PPTX
Introduction-to-Python-Programming-Language (1).pptx
dhyeysapariya
 
PPTX
Purple and Violet Modern Marketing Presentation (1).pptx
SanthoshKumar229321
 
PDF
Chad Readey - An Independent Thinker
Chad Readey
 
PPTX
Data Security Breach: Immediate Action Plan
varmabhuvan266
 
PPTX
Pipeline Automatic Leak Detection for Water Distribution Systems
Sione Palu
 
PPTX
International-health-agency and it's work.pptx
shreehareeshgs
 
PDF
Research about a FoodFolio app for personalized dietary tracking and health o...
AustinLiamAndres
 
PPTX
Analysis of Employee_Attrition_Presentation.pptx
AdawuRedeemer
 
PPTX
Introduction to Data Analytics and Data Science
KavithaCIT
 
PPTX
Extract Transformation Load (3) (1).pptx
revathi148366
 
PDF
Key_Statistical_Techniques_in_Analytics_by_CA_Suvidha_Chaplot (1).pdf
CA Suvidha Chaplot
 
PDF
Company Presentation pada Perusahaan ADB.pdf
didikfahmi
 
PPTX
World-population.pptx fire bunberbpeople
umutunsalnsl4402
 
PPTX
Introduction to Biostatistics Presentation.pptx
AtemJoshua
 
PDF
Classifcation using Machine Learning and deep learning
bhaveshagrawal35
 
PDF
blockchain123456789012345678901234567890
tanvikhunt1003
 
PPTX
lecture 13 mind test academy it skills.pptx
ggesjmrasoolpark
 
INFO8116 - Week 10 - Slides.pptx big data architecture
guddipatel10
 
The whitetiger novel review for collegeassignment.pptx
DhruvPatel754154
 
Measurement of Afordability for Water Supply and Sanitation in Bangladesh .pptx
akmibrahimbd
 
Introduction-to-Python-Programming-Language (1).pptx
dhyeysapariya
 
Purple and Violet Modern Marketing Presentation (1).pptx
SanthoshKumar229321
 
Chad Readey - An Independent Thinker
Chad Readey
 
Data Security Breach: Immediate Action Plan
varmabhuvan266
 
Pipeline Automatic Leak Detection for Water Distribution Systems
Sione Palu
 
International-health-agency and it's work.pptx
shreehareeshgs
 
Research about a FoodFolio app for personalized dietary tracking and health o...
AustinLiamAndres
 
Analysis of Employee_Attrition_Presentation.pptx
AdawuRedeemer
 
Introduction to Data Analytics and Data Science
KavithaCIT
 
Extract Transformation Load (3) (1).pptx
revathi148366
 
Key_Statistical_Techniques_in_Analytics_by_CA_Suvidha_Chaplot (1).pdf
CA Suvidha Chaplot
 
Company Presentation pada Perusahaan ADB.pdf
didikfahmi
 
World-population.pptx fire bunberbpeople
umutunsalnsl4402
 
Introduction to Biostatistics Presentation.pptx
AtemJoshua
 
Classifcation using Machine Learning and deep learning
bhaveshagrawal35
 
blockchain123456789012345678901234567890
tanvikhunt1003
 
lecture 13 mind test academy it skills.pptx
ggesjmrasoolpark
 

Introduction to structured query language (sql)

  • 1. Introduction to Structured Query Language (SQL) CHAPTER 4
  • 2. Introduction to SQL SQL functions fit into two broad categories: ◦ Data definition language ◦ SQL includes commands to: ◦ Create database objects, such as tables, indexes, and views ◦ Define access rights to those database objects ◦ Data manipulation language ◦ Includes commands to insert, update, delete, and retrieve data within database tables 2
  • 3. SQL is relatively easy to learn Basic command set has vocabulary of less than 100 words Nonprocedural language American National Standards Institute (ANSI) prescribes a standard SQL Several SQL dialects exist 3
  • 4. 4
  • 5. 5
  • 6. 6
  • 7. Data Definition Commands Examine simple database model and database tables that will form basis for many SQL examples Understand data environment 7
  • 9. Creating the Database Following two tasks must be completed: ◦ Create database structure ◦ Create tables that will hold end-user data First task: ◦ RDBMS creates physical files that will hold database ◦ Tends to differ substantially from one RDBMS to another 9
  • 10. The Database Schema Authentication ◦ Process through which DBMS verifies that only registered users are able to access database ◦ Log on to RDBMS using user ID and password created by database administrator Schema ◦ Group of database objects—such as tables and indexes—that are related to each other 10
  • 11. Data Types Data type selection is usually dictated by nature of data and by intended use Pay close attention to expected use of attributes for sorting and data retrieval purposes 11
  • 12. 12
  • 13. Creating Table Structures Use one line per column (attribute) definition Use spaces to line up attribute characteristics and constraints Table and attribute names are capitalized NOT NULL specification UNIQUE specification 13
  • 14. Primary key attributes contain both a NOT NULL and a UNIQUE specification RDBMS will automatically enforce referential integrity for foreign keys Command sequence ends with semicolon 14
  • 15. SQL Constraints NOT NULL constraint ◦Ensures that column does not accept nulls UNIQUE constraint ◦Ensures that all values in column are unique DEFAULT constraint ◦Assigns value to attribute when a new row is added to table CHECK constraint ◦Validates data when attribute value is entered 15
  • 16. SQL Indexes When primary key is declared, DBMS automatically creates unique index Often need additional indexes Using CREATE INDEX command, SQL indexes can be created on basis of any selected attribute Composite index ◦Index based on two or more attributes ◦Often used to prevent data duplication 16
  • 17. Data Manipulation Commands Adding table rows Saving table changes Listing table rows Updating table rows Restoring table contents Deleting table rows Inserting table rows with a select subquery 17
  • 18. Adding Table Rows INSERT ◦ Used to enter data into table ◦ Syntax: ◦ INSERT INTO columnname VALUES (value1, value2, … , valuen); 18
  • 19. When entering values, notice that: ◦Row contents are entered between parentheses ◦Character and date values are entered between apostrophes ◦Numerical entries are not enclosed in apostrophes ◦Attribute entries are separated by commas ◦A value is required for each column Use NULL for unknown values 19
  • 20. Saving Table Changes Changes made to table contents are not physically saved on disk until, one of the following occurs: ◦Database is closed ◦Program is closed ◦COMMIT command is used Syntax: ◦COMMIT [WORK]; Will permanently save any changes made to any table in the database 20
  • 21. Listing Table Rows SELECT ◦ Used to list contents of table ◦ Syntax: ◦ SELECT columnlist FROM tablename; Columnlist represents one or more attributes, separated by commas Asterisk can be used as wildcard character to list all attributes 21
  • 22. Updating Table Rows UPDATE ◦ Modify data in a table ◦ Syntax: ◦ UPDATE tablename SET columnname = expression [, columname = expression] [WHERE conditionlist]; If more than one attribute is to be updated in row, separate corrections with commas 22
  • 23. Restoring Table Contents ROLLBACK ◦Used to restore database to its previous condition ◦Only applicable if COMMIT command has not been used to permanently store changes in database Syntax: ◦ROLLBACK; COMMIT and ROLLBACK only work with data manipulation commands that are used to add, modify, or delete table rows 23
  • 24. Deleting Table Rows DELETE ◦ Deletes a table row ◦ Syntax: ◦ DELETE FROM tablename [WHERE conditionlist ]; WHERE condition is optional If WHERE condition is not specified, all rows from specified table will be deleted 24
  • 25. Inserting Table Rows with a Select Subquery INSERT ◦ Inserts multiple rows from another table (source) ◦ Uses SELECT subquery ◦ Query that is embedded (or nested) inside another query ◦ Executed first ◦ Syntax: ◦ INSERT INTO tablename SELECT columnlist FROM tablename; 25
  • 26. Selecting Rows with Conditional Restrictions Select partial table contents by placing restrictions on rows to be included in output ◦ Add conditional restrictions to SELECT statement, using WHERE clause Syntax: ◦ SELECT columnlist FROM tablelist [ WHERE conditionlist ] ; 26
  • 27. 27
  • 28. Selecting Rows with Conditional Restrictions (continued) 28
  • 29. Arithmetic Operators: The Rule of Precedence Perform operations within parentheses Perform power operations Perform multiplications and divisions Perform additions and subtractions 29
  • 30. 30
  • 31. Special Operators BETWEEN ◦ Used to check whether attribute value is within a range IS NULL ◦ Used to check whether attribute value is null LIKE ◦ Used to check whether attribute value matches given string pattern 31
  • 32. IN ◦ Used to check whether attribute value matches any value within a value list EXISTS ◦ Used to check if subquery returns any rows 32
  • 33. Advanced Data Definition Commands All changes in table structure are made by using ALTER command ◦ Followed by keyword that produces specific change ◦ Following three options are available: ◦ ADD ◦ MODIFY ◦ DROP 33
  • 34. Changing a Column’s Data Type ALTER can be used to change data type Some RDBMSs (such as Oracle) do not permit changes to data types unless column to be changed is empty 34
  • 35. Changing a Column’s Data Characteristics Use ALTER to change data characteristics If column to be changed already contains data, changes in column’s characteristics are permitted if those changes do not alter the data type 35
  • 36. Adding a Column Use ALTER to add column ◦ Do not include the NOT NULL clause for new column 36
  • 37. Dropping a Column Use ALTER to drop column ◦ Some RDBMSs impose restrictions on the deletion of an attribute 37
  • 39. Copying Parts of Tables SQL permits copying contents of selected table columns so that the data need not be reentered manually into newly created table(s) First create the PART table structure Next add rows to new PART table using PRODUCT table rows 39
  • 40. Adding Primary and Foreign Key Designations When table is copied, integrity rules do not copy, so primary and foreign keys need to be manually defined on new table User ALTER TABLE command ◦ Syntax: ◦ ALTER TABLE tablename ADD PRIMARY KEY(fieldname); ◦ For foreign key, use FOREIGN KEY in place of PRIMARY KEY 40
  • 41. Deleting a Table from the Database DROP ◦ Deletes table from database ◦ Syntax: ◦ DROP TABLE tablename; 41
  • 42. Advanced Select Queries SQL provides useful functions that can: ◦ Count ◦ Find minimum and maximum values ◦ Calculate averages SQL allows user to limit queries to only those entries having no duplicates or entries whose duplicates may be grouped 42
  • 44. 44
  • 45. 45
  • 46. 46
  • 47. 47
  • 49. 49
  • 50. 50
  • 51. Virtual Tables: Creating a View View is virtual table based on SELECT query ◦ Can contain columns, computed columns, aliases, and aggregate functions from one or more tables Base tables are tables on which view is based Create view by using CREATE VIEW command 51
  • 52. 52
  • 53. Joining Database Tables Ability to combine (join) tables on common attributes is most important distinction between relational database and other databases Join is performed when data are retrieved from more than one table at a time Join is generally composed of an equality comparison between foreign key and primary key of related tables 53
  • 54. Joining Tables with an Alias Alias can be used to identify source table Any legal table name can be used as alias Add alias after table name in FROM clause ◦ FROM tablename alias 54
  • 55. Summary SQL commands can be divided into two overall categories: ◦ Data definition language commands ◦ Data manipulation language commands The ANSI standard data types are supported by all RDBMS vendors in different ways Basic data definition commands allow you to create tables, indexes, and views 55
  • 56. DML commands allow you to add, modify, and delete rows from tables The basic DML commands are SELECT, INSERT, UPDATE, DELETE, COMMIT, and ROLLBACK INSERT command is used to add new rows to tables SELECT statement is main data retrieval command in SQL 56
  • 57. Many SQL constraints can be used with columns The column list represents one or more column names separated by commas WHERE clause can be used with SELECT, UPDATE, and DELETE statements to restrict rows affected by the DDL command 57
  • 58. Aggregate functions ◦ Special functions that perform arithmetic computations over a set of rows ORDER BY clause ◦ Used to sort output of SELECT statement ◦ Can sort by one or more columns and use either an ascending or descending order Join output of multiple tables with SELECT statement 58
  • 59. Natural join uses join condition to match only rows with equal values in specified columns Right outer join and left outer join used to select rows that have no matching values in other related table 59