SlideShare a Scribd company logo
SQL Basics
Introduction to
Standard Query Language
SQL – What Is It?
Structured Query Language
Common Language For Variety of
Databases
ANSI Standard BUT….
Two Types of SQL
DML – Data Manipulation Language (SELECT)
DDL – Data Definition Language (CREATE
TABLE)
Where To Use
SQL*Plus
TOAD
SQL Navigator
ODBC Supported Connections
Excel
Access
Lotus 1-2-3

Heart of PL/SQL
Pros & Cons of SQL
Pros:
Very flexible
Universal (Oracle, Access, Paradox, etc)
Relatively Few Commands to Learn

Cons:
Requires Detailed Knowledge of the Structure
of the Database
Can Provide Misleading Results
Basic SQL Components
SELECT schema.table.column
FROM table alias

WHERE [conditions]
ORDER BY [columns]
;
Defines the end of an SQL statement
Some programs require it, some do not (TOAD Does
Not)
Needed only if multiple SQL statements run in a script

Optional Elements
SELECT Statement
SELECT Statement Defines WHAT is to be
returned (separated by commas)

Database Columns (From Tables or Views)
Constant Text Values
Formulas
Pre-defined Functions
Group Functions (COUNT, SUM, MAX, MIN, AVG)

“*” Mean All Columns From All Tables In the
FROM Statement
Example: SELECT state_code, state_name
FROM Statement
Defines the Table(s) or View(s) Used by
the SELECT or WHERE Statements
You MUST Have a FROM statement
Multiple Tables/Views are separated by
Commas
Examples
SELECT state_name, state_abbr
FROM states
SELECT *
FROM agencies
SELECT arithmetic_mean – minimum_value
FROM annual_summaries
WHERE Clause
Optional
Defines what records are to be included in the query
Uses Conditional Operators
=, >, >=, <, <=, != (<>)
BETWEEN x AND y
IN (list)
LIKE ‘%string’ (“%” is a wild-card)
IS NULL
NOT {BETWEEN / IN / LIKE / NULL}

Multiple Conditions Linked with AND & OR Statements
Strings Contained Within SINGLE QUOTES!!
AND & OR
Multiple WHERE conditions are Linked by AND /
OR Statements
“AND” Means All Conditions are TRUE for the
Record
“OR” Means at least 1 of the Conditions is TRUE
You May Group Statements with ( )
BE CAREFUL MIXING “AND” & “OR” Conditions
Examples with WHERE
SELECT *
FROM annual_summaries
WHERE sd_duration_code = ‘1’
SELECT state_name
FROM states
WHERE state_population > 15000000
More Examples
SELECT state_name, state_population
FROM states
WHERE state_name LIKE ‘%NORTH%’
SELECT *
FROM annual_summaries
WHERE sd_duration_code IN (‘1’, ‘W’, ‘X’)
AND annual_summary_year = 2000
Be Careful!
SELECT mo_mo_id, sd_duration_code
FROM annual_summaries
WHERE annual_summary_year = 2003
AND values_gt_pri_std > 0
OR values_gt_sec_std > 0
SELECT mo_mo_id, sd_duration_code
FROM annual_summaries
WHERE annual_summary_year = 2003
AND (values_gt_pri_std > 0
OR values_gt_sec_std > 0)
ORDER BY Statement
Defines How the Records are to be Sorted
Must be in the SELECT statement to be
ORDER BY
Default is to order in ASC (Ascending)
order
Can Sort in Reverse (Descending) Order
with “DESC” After the Column Name
ORDER BY Example
SELECT *
FROM agencies
ORDER BY agency_desc
SELECT cc_cn_stt_state_code, site_id
FROM sites
WHERE lut_land_use_type = ‘MOBILE’
ORDER BY cc_cn_stt_state_code DESC
Group Functions
Performs Common Mathematical
Operations on a Group of Records
Must define what Constitutes a Group by
Using the GROUP BY Clause
All non-Group elements in the SELECT
Statement Must be in the GROUP BY
Clause (Additional Columns are Optional)
Group By Example
SELECT si_si_id, COUNT(mo_id)
FROM monitors
GROUP BY si_si_id
SELECT AVG(max_sample_value)
FROM summary_maximums
WHERE max_level <= 3
AND max_ind = ‘REG’
GROUP BY ans_ans_id
OK, I understand How to Get Data
From 1 Table… What about
Multiple Tables?
V_MONITOR_ID

MONITORS

PARAMETERS

PARAMETER_CODE
PARAMETER_DESC

MO_ID
SI_SI_ID
PA_PARAMETER_CODE
POC

MO_ID
AIRS_MONITOR_ID
STATE_CODE
COUNTY_CODE
SITE_ID
PARAMETER_CODE
POC
Primary & Foreign Keys
Primary Keys
1 or More Columns Used to Uniquely Identify
a record.
All Columns Defined as PK’s MUST be
populated

Foreign Keys
Value on a table that references a Primary
Key from a different table
Primary & Foreign Keys
SITES

SI_ID%
SITE_LATITUDE
SITE_LONGITUDE
STREET_ADDRESS

PARAMETERS

PARAMETER_CODE%
PARAMETER_DESC

V_MONITOR_ID

MONITORS

MO_ID%
SI_SI_ID*
PA_PARAMETER_CODE*
POC

* = Foreign Key
% = Primary Key

MO_ID
STATE_CODE
COUNTY_CODE
SITE_ID
PARAMETER_CODE
POC
Joining Tables
MONITORS

PARAMETERS
MO_ID

SI_SI_ID

PA_PARAMETER_CODE

POC

Parameter_Code

Parameter_Desc

1

1

44201

1

44201

Ozone

2

1

42101

1

3

1

42101

2

4

2

81102

1

42101

CO

42401

SO2

5

2

44201

1

81102

PM10

6

3

42401

1

Default behavior is to show every possible combination between the two tables
Cartesian Join / Simple Join
SELECT mo_id, poc, parameter_desc
FROM monitors, parameters
MONITORS

PARAMETERS
MO_ID

SI_SI_ID

PA_PARAMETER_CODE

POC

Parameter_Code

Parameter_Desc

1

1

44201

1

44201

Ozone

2

1

42101

1

3

1

42101

2

4

2

81102

1

42101

CO

42401

SO2

5

2

44201

1

81102

PM10

6

3

42401

1
Joining Tables
SELECT mo_id, poc, parameter_desc
FROM monitors, parameters
WHERE pa_parameter_code = parameter_code
MONITORS

PARAMETERS
MO_ID

SI_SI_ID

PA_PARAMETER_CODE

POC

Parameter_Code

Parameter_Desc

1

1

44201

1

44201

Ozone

2

1

42101

1

3

1

42101

2

4

2

81102

1

42101

CO

42401

SO2

5

2

44201

1

81102

PM10

6

3

42401

1
Joining Tables
Joins Between Tables are Usually Based
on Primary / Foreign Keys
Make Sure Joins Between All Tables in the
FROM Clause Exist
List Joins Between Tables Before Other
Selection Elements
Aliases
“Shorthand” for Table or Column
References
SELECT Aliases Appear as Column
Headers in the Output
Aliases Cannot be Keywords
Previous SQL With Aliases
SELECT mo.mo_id, mo.poc, pa.parameter_desc parameter
FROM monitors mo, parameters pa
WHERE mo.pa_parameter_code = pa.parameter_code
Why Use an Alias?
Saves Typing
Good Internal Documentation
Better Headers
If the same column name exists on
multiple tables, SQL needs a way to know
which element you are referencing
(MO_MO_ID for example)
Recap
Basic Structural Elements
SELECT
FROM
WHERE
ORDER BY
GROUP BY

Selecting From Multiple Tables
Join Multiple Tables via Primary & Foreign Keys
Aliases

More Related Content

PPT
Ms sql server ii
PPT
MS SQL Server 1
PPT
PDF
Sql basics
DOCX
SQL report
PPTX
ODP
Babitha2.mysql
Ms sql server ii
MS SQL Server 1
Sql basics
SQL report
Babitha2.mysql

What's hot (16)

PPTX
06.01 sql select distinct
PPTX
Structure query language (sql)
DOC
Complete Sql Server querries
PPT
Introduction to-sql
PPTX
Introduction to SQL
PDF
PPTX
Advanced SQL Webinar
PPT
Advanced Sql Training
PPT
ALL ABOUT SQL AND RDBMS
PPT
Les02 (restricting and sorting data)
ODP
BIS05 Introduction to SQL
PPTX
Creating database using sql commands
PDF
Sql Basics | Edureka
PDF
Excel tutorial
PPT
Les09 (using ddl statements to create and manage tables)
PDF
Sql basics v2
06.01 sql select distinct
Structure query language (sql)
Complete Sql Server querries
Introduction to-sql
Introduction to SQL
Advanced SQL Webinar
Advanced Sql Training
ALL ABOUT SQL AND RDBMS
Les02 (restricting and sorting data)
BIS05 Introduction to SQL
Creating database using sql commands
Sql Basics | Edureka
Excel tutorial
Les09 (using ddl statements to create and manage tables)
Sql basics v2
Ad

Viewers also liked (16)

PDF
Từ điển nhiếp ảnh
PPS
7 angeliukai
PPTX
Jan Zając - Psychologiczne i społeczne mechanizmy blogowania
PPS
Pepsi light
PDF
Jnvst 2014 appform
PPS
100614 nhung niem vui nho
PDF
Mimer sql realtime
PPS
100510 ong chau va con lua
PPS
100620.dieu uoc cuoi cung
PPS
101223 song tich cuc
PPT
Marta Olcoń Kubicka - Kulturowe wymiary blogowania
PPTX
Group 1 powerpoint
PPS
Benh vien cua chua
PPS
101707 chuyen con kien
PPT
Sami Ben Gharbia - State of free speech in world blogosphere
PPS
100818 chia khoa niem vui
Từ điển nhiếp ảnh
7 angeliukai
Jan Zając - Psychologiczne i społeczne mechanizmy blogowania
Pepsi light
Jnvst 2014 appform
100614 nhung niem vui nho
Mimer sql realtime
100510 ong chau va con lua
100620.dieu uoc cuoi cung
101223 song tich cuc
Marta Olcoń Kubicka - Kulturowe wymiary blogowania
Group 1 powerpoint
Benh vien cua chua
101707 chuyen con kien
Sami Ben Gharbia - State of free speech in world blogosphere
100818 chia khoa niem vui
Ad

Similar to Sql basics (20)

PDF
SQL Basics
PDF
Sql General
PPT
Sql 2006
PPTX
DOCX
DOCX
PPTX
PPTX
Lab1 select statement
PPTX
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
PPTX
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
PDF
SQL Beginners anishurrehman.cloud.pdf
PPT
Java Database Connectivity (JDBC) with Spring Framework is a powerful combina...
PPTX
HPD SQL Training - Beginner - 20220916.pptx
DOC
Introduction to sql
PPTX
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
PPTX
SQL command practical power point slides, which help you in learning sql.pptx
DOC
Sql functions
PDF
PPTX
Structure Query Language Advance Training
PPTX
SQLSERVERQUERIES.pptx
SQL Basics
Sql General
Sql 2006
Lab1 select statement
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SQL Beginners anishurrehman.cloud.pdf
Java Database Connectivity (JDBC) with Spring Framework is a powerful combina...
HPD SQL Training - Beginner - 20220916.pptx
Introduction to sql
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SQL command practical power point slides, which help you in learning sql.pptx
Sql functions
Structure Query Language Advance Training
SQLSERVERQUERIES.pptx

Recently uploaded (20)

PPTX
GDM (1) (1).pptx small presentation for students
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Classroom Observation Tools for Teachers
PPTX
Pharma ospi slides which help in ospi learning
PDF
RMMM.pdf make it easy to upload and study
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
Basic Mud Logging Guide for educational purpose
PDF
Pre independence Education in Inndia.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Lesson notes of climatology university.
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
master seminar digital applications in india
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Microbial diseases, their pathogenesis and prophylaxis
GDM (1) (1).pptx small presentation for students
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Classroom Observation Tools for Teachers
Pharma ospi slides which help in ospi learning
RMMM.pdf make it easy to upload and study
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Basic Mud Logging Guide for educational purpose
Pre independence Education in Inndia.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Microbial disease of the cardiovascular and lymphatic systems
Lesson notes of climatology university.
2.FourierTransform-ShortQuestionswithAnswers.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPH.pptx obstetrics and gynecology in nursing
O7-L3 Supply Chain Operations - ICLT Program
master seminar digital applications in india
Anesthesia in Laparoscopic Surgery in India
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Computing-Curriculum for Schools in Ghana
Microbial diseases, their pathogenesis and prophylaxis

Sql basics

  • 2. SQL – What Is It? Structured Query Language Common Language For Variety of Databases ANSI Standard BUT…. Two Types of SQL DML – Data Manipulation Language (SELECT) DDL – Data Definition Language (CREATE TABLE)
  • 3. Where To Use SQL*Plus TOAD SQL Navigator ODBC Supported Connections Excel Access Lotus 1-2-3 Heart of PL/SQL
  • 4. Pros & Cons of SQL Pros: Very flexible Universal (Oracle, Access, Paradox, etc) Relatively Few Commands to Learn Cons: Requires Detailed Knowledge of the Structure of the Database Can Provide Misleading Results
  • 5. Basic SQL Components SELECT schema.table.column FROM table alias WHERE [conditions] ORDER BY [columns] ; Defines the end of an SQL statement Some programs require it, some do not (TOAD Does Not) Needed only if multiple SQL statements run in a script Optional Elements
  • 6. SELECT Statement SELECT Statement Defines WHAT is to be returned (separated by commas) Database Columns (From Tables or Views) Constant Text Values Formulas Pre-defined Functions Group Functions (COUNT, SUM, MAX, MIN, AVG) “*” Mean All Columns From All Tables In the FROM Statement Example: SELECT state_code, state_name
  • 7. FROM Statement Defines the Table(s) or View(s) Used by the SELECT or WHERE Statements You MUST Have a FROM statement Multiple Tables/Views are separated by Commas
  • 8. Examples SELECT state_name, state_abbr FROM states SELECT * FROM agencies SELECT arithmetic_mean – minimum_value FROM annual_summaries
  • 9. WHERE Clause Optional Defines what records are to be included in the query Uses Conditional Operators =, >, >=, <, <=, != (<>) BETWEEN x AND y IN (list) LIKE ‘%string’ (“%” is a wild-card) IS NULL NOT {BETWEEN / IN / LIKE / NULL} Multiple Conditions Linked with AND & OR Statements Strings Contained Within SINGLE QUOTES!!
  • 10. AND & OR Multiple WHERE conditions are Linked by AND / OR Statements “AND” Means All Conditions are TRUE for the Record “OR” Means at least 1 of the Conditions is TRUE You May Group Statements with ( ) BE CAREFUL MIXING “AND” & “OR” Conditions
  • 11. Examples with WHERE SELECT * FROM annual_summaries WHERE sd_duration_code = ‘1’ SELECT state_name FROM states WHERE state_population > 15000000
  • 12. More Examples SELECT state_name, state_population FROM states WHERE state_name LIKE ‘%NORTH%’ SELECT * FROM annual_summaries WHERE sd_duration_code IN (‘1’, ‘W’, ‘X’) AND annual_summary_year = 2000
  • 13. Be Careful! SELECT mo_mo_id, sd_duration_code FROM annual_summaries WHERE annual_summary_year = 2003 AND values_gt_pri_std > 0 OR values_gt_sec_std > 0 SELECT mo_mo_id, sd_duration_code FROM annual_summaries WHERE annual_summary_year = 2003 AND (values_gt_pri_std > 0 OR values_gt_sec_std > 0)
  • 14. ORDER BY Statement Defines How the Records are to be Sorted Must be in the SELECT statement to be ORDER BY Default is to order in ASC (Ascending) order Can Sort in Reverse (Descending) Order with “DESC” After the Column Name
  • 15. ORDER BY Example SELECT * FROM agencies ORDER BY agency_desc SELECT cc_cn_stt_state_code, site_id FROM sites WHERE lut_land_use_type = ‘MOBILE’ ORDER BY cc_cn_stt_state_code DESC
  • 16. Group Functions Performs Common Mathematical Operations on a Group of Records Must define what Constitutes a Group by Using the GROUP BY Clause All non-Group elements in the SELECT Statement Must be in the GROUP BY Clause (Additional Columns are Optional)
  • 17. Group By Example SELECT si_si_id, COUNT(mo_id) FROM monitors GROUP BY si_si_id SELECT AVG(max_sample_value) FROM summary_maximums WHERE max_level <= 3 AND max_ind = ‘REG’ GROUP BY ans_ans_id
  • 18. OK, I understand How to Get Data From 1 Table… What about Multiple Tables? V_MONITOR_ID MONITORS PARAMETERS PARAMETER_CODE PARAMETER_DESC MO_ID SI_SI_ID PA_PARAMETER_CODE POC MO_ID AIRS_MONITOR_ID STATE_CODE COUNTY_CODE SITE_ID PARAMETER_CODE POC
  • 19. Primary & Foreign Keys Primary Keys 1 or More Columns Used to Uniquely Identify a record. All Columns Defined as PK’s MUST be populated Foreign Keys Value on a table that references a Primary Key from a different table
  • 20. Primary & Foreign Keys SITES SI_ID% SITE_LATITUDE SITE_LONGITUDE STREET_ADDRESS PARAMETERS PARAMETER_CODE% PARAMETER_DESC V_MONITOR_ID MONITORS MO_ID% SI_SI_ID* PA_PARAMETER_CODE* POC * = Foreign Key % = Primary Key MO_ID STATE_CODE COUNTY_CODE SITE_ID PARAMETER_CODE POC
  • 22. Cartesian Join / Simple Join SELECT mo_id, poc, parameter_desc FROM monitors, parameters MONITORS PARAMETERS MO_ID SI_SI_ID PA_PARAMETER_CODE POC Parameter_Code Parameter_Desc 1 1 44201 1 44201 Ozone 2 1 42101 1 3 1 42101 2 4 2 81102 1 42101 CO 42401 SO2 5 2 44201 1 81102 PM10 6 3 42401 1
  • 23. Joining Tables SELECT mo_id, poc, parameter_desc FROM monitors, parameters WHERE pa_parameter_code = parameter_code MONITORS PARAMETERS MO_ID SI_SI_ID PA_PARAMETER_CODE POC Parameter_Code Parameter_Desc 1 1 44201 1 44201 Ozone 2 1 42101 1 3 1 42101 2 4 2 81102 1 42101 CO 42401 SO2 5 2 44201 1 81102 PM10 6 3 42401 1
  • 24. Joining Tables Joins Between Tables are Usually Based on Primary / Foreign Keys Make Sure Joins Between All Tables in the FROM Clause Exist List Joins Between Tables Before Other Selection Elements
  • 25. Aliases “Shorthand” for Table or Column References SELECT Aliases Appear as Column Headers in the Output Aliases Cannot be Keywords
  • 26. Previous SQL With Aliases SELECT mo.mo_id, mo.poc, pa.parameter_desc parameter FROM monitors mo, parameters pa WHERE mo.pa_parameter_code = pa.parameter_code
  • 27. Why Use an Alias? Saves Typing Good Internal Documentation Better Headers If the same column name exists on multiple tables, SQL needs a way to know which element you are referencing (MO_MO_ID for example)
  • 28. Recap Basic Structural Elements SELECT FROM WHERE ORDER BY GROUP BY Selecting From Multiple Tables Join Multiple Tables via Primary & Foreign Keys Aliases