SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

06.01 sql select distinct
06.01 sql select distinct06.01 sql select distinct
06.01 sql select distinct
Bishal Ghimire
 
Structure query language (sql)
Structure query language (sql)Structure query language (sql)
Structure query language (sql)
Nalina Kumari
 
Complete Sql Server querries
Complete Sql Server querriesComplete Sql Server querries
Complete Sql Server querries
Ibrahim Jutt
 
Les02 (restricting and sorting data)
Les02 (restricting and sorting data)Les02 (restricting and sorting data)
Les02 (restricting and sorting data)
Achmad Solichin
 
Creating database using sql commands
Creating database using sql commandsCreating database using sql commands
Creating database using sql commands
Belle Wx
 

Was ist angesagt? (16)

06.01 sql select distinct
06.01 sql select distinct06.01 sql select distinct
06.01 sql select distinct
 
Structure query language (sql)
Structure query language (sql)Structure query language (sql)
Structure query language (sql)
 
Complete Sql Server querries
Complete Sql Server querriesComplete Sql Server querries
Complete Sql Server querries
 
Introduction to-sql
Introduction to-sqlIntroduction to-sql
Introduction to-sql
 
Introduction to SQL
Introduction to SQLIntroduction to SQL
Introduction to SQL
 
Sql
SqlSql
Sql
 
Advanced SQL Webinar
Advanced SQL WebinarAdvanced SQL Webinar
Advanced SQL Webinar
 
Advanced Sql Training
Advanced Sql TrainingAdvanced Sql Training
Advanced Sql Training
 
ALL ABOUT SQL AND RDBMS
ALL ABOUT SQL AND RDBMSALL ABOUT SQL AND RDBMS
ALL ABOUT SQL AND RDBMS
 
Les02 (restricting and sorting data)
Les02 (restricting and sorting data)Les02 (restricting and sorting data)
Les02 (restricting and sorting data)
 
BIS05 Introduction to SQL
BIS05 Introduction to SQLBIS05 Introduction to SQL
BIS05 Introduction to SQL
 
Creating database using sql commands
Creating database using sql commandsCreating database using sql commands
Creating database using sql commands
 
Sql Basics | Edureka
Sql Basics | EdurekaSql Basics | Edureka
Sql Basics | Edureka
 
Excel tutorial
Excel tutorialExcel tutorial
Excel tutorial
 
Les09 (using ddl statements to create and manage tables)
Les09 (using ddl statements to create and manage tables)Les09 (using ddl statements to create and manage tables)
Les09 (using ddl statements to create and manage tables)
 
Sql basics v2
Sql basics v2Sql basics v2
Sql basics v2
 

Andere mochten auch

Basic Sql Handouts
Basic Sql HandoutsBasic Sql Handouts
Basic Sql Handouts
jhe04
 
Sql basics joi ns and common commands (1)
Sql basics  joi ns and common commands (1)Sql basics  joi ns and common commands (1)
Sql basics joi ns and common commands (1)
johnnygoodman
 
4. SQL in DBMS
4. SQL in DBMS4. SQL in DBMS
4. SQL in DBMS
koolkampus
 
Database management system presentation
Database management system presentationDatabase management system presentation
Database management system presentation
sameerraaj
 

Andere mochten auch (19)

Sql basics
Sql  basicsSql  basics
Sql basics
 
Basic Sql Handouts
Basic Sql HandoutsBasic Sql Handouts
Basic Sql Handouts
 
Sql Basic Selects
Sql Basic SelectsSql Basic Selects
Sql Basic Selects
 
Sql basics joi ns and common commands (1)
Sql basics  joi ns and common commands (1)Sql basics  joi ns and common commands (1)
Sql basics joi ns and common commands (1)
 
Lecture 07 - Basic SQL
Lecture 07 - Basic SQLLecture 07 - Basic SQL
Lecture 07 - Basic SQL
 
1. SQL Basics - Introduction
1. SQL Basics - Introduction1. SQL Basics - Introduction
1. SQL Basics - Introduction
 
Les01 Writing Basic Sql Statements
Les01 Writing Basic Sql StatementsLes01 Writing Basic Sql Statements
Les01 Writing Basic Sql Statements
 
Writing Basic SQL SELECT Statements
Writing Basic SQL SELECT StatementsWriting Basic SQL SELECT Statements
Writing Basic SQL SELECT Statements
 
Introduction to MySQL and phpMyAdmin
Introduction to MySQL and phpMyAdminIntroduction to MySQL and phpMyAdmin
Introduction to MySQL and phpMyAdmin
 
Tables And SQL basics
Tables And SQL basicsTables And SQL basics
Tables And SQL basics
 
Pl sql guide
Pl sql guidePl sql guide
Pl sql guide
 
4. SQL in DBMS
4. SQL in DBMS4. SQL in DBMS
4. SQL in DBMS
 
SQL212.2 Introduction to SQL using Oracle Module 2
SQL212.2 Introduction to SQL using Oracle Module 2SQL212.2 Introduction to SQL using Oracle Module 2
SQL212.2 Introduction to SQL using Oracle Module 2
 
SQL Basics
SQL BasicsSQL Basics
SQL Basics
 
MS Sql Server: Joining Databases
MS Sql Server: Joining DatabasesMS Sql Server: Joining Databases
MS Sql Server: Joining Databases
 
Introduction to database
Introduction to databaseIntroduction to database
Introduction to database
 
College management system ppt
College management system pptCollege management system ppt
College management system ppt
 
Database management system presentation
Database management system presentationDatabase management system presentation
Database management system presentation
 
Ms excel 2007
Ms excel 2007Ms excel 2007
Ms excel 2007
 

Ähnlich wie Sql basics

SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptxSQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SaiMiryala1
 

Ähnlich wie Sql basics (20)

Sql General
Sql General Sql General
Sql General
 
SQL Basics
SQL BasicsSQL Basics
SQL Basics
 
Sql 2006
Sql 2006Sql 2006
Sql 2006
 
Sql
SqlSql
Sql
 
Query
QueryQuery
Query
 
Sql
SqlSql
Sql
 
Hira
HiraHira
Hira
 
Lab1 select statement
Lab1 select statementLab1 select statement
Lab1 select statement
 
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptxSQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
 
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptxSQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
 
SQL Beginners anishurrehman.cloud.pdf
SQL Beginners anishurrehman.cloud.pdfSQL Beginners anishurrehman.cloud.pdf
SQL Beginners anishurrehman.cloud.pdf
 
Introduction to sql
Introduction to sqlIntroduction to sql
Introduction to sql
 
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptxSQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
SQL-Tutorial.P1241112567Pczwq.powerpoint.pptx
 
Sql functions
Sql functionsSql functions
Sql functions
 
Dbms
DbmsDbms
Dbms
 
SQLSERVERQUERIES.pptx
SQLSERVERQUERIES.pptxSQLSERVERQUERIES.pptx
SQLSERVERQUERIES.pptx
 
SQL Query
SQL QuerySQL Query
SQL Query
 
Lecture5-SQL.docx
Lecture5-SQL.docxLecture5-SQL.docx
Lecture5-SQL.docx
 
Stored procedures
Stored proceduresStored procedures
Stored procedures
 
SQL
SQLSQL
SQL
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 

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