SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

06.01 sql select distinct
06.01 sql select distinct06.01 sql select distinct
06.01 sql select distinctBishal 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 querriesIbrahim Jutt
 
Introduction to SQL
Introduction to SQLIntroduction to SQL
Introduction to SQLMahir Haque
 
Advanced SQL Webinar
Advanced SQL WebinarAdvanced SQL Webinar
Advanced SQL WebinarRam Kedem
 
Advanced Sql Training
Advanced Sql TrainingAdvanced Sql Training
Advanced Sql Trainingbixxman
 
ALL ABOUT SQL AND RDBMS
ALL ABOUT SQL AND RDBMSALL ABOUT SQL AND RDBMS
ALL ABOUT SQL AND RDBMSgaurav koriya
 
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 commandsBelle Wx
 
Sql Basics | Edureka
Sql Basics | EdurekaSql Basics | Edureka
Sql Basics | EdurekaEdureka!
 
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)Achmad Solichin
 

La actualidad más candente (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
 

Destacado

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

Similar a 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
 

Último

2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 
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.christianmathematics
 
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).pptxEsquimalt MFRC
 
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.pptxDr. Ravikiran H M Gowda
 
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 17Celine George
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 

Último (20)

2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
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
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
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 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
 
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
 
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
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.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