SlideShare a Scribd company logo
INTRODUCTION TO SQL
BOOTHTECH
JENNIFER BERK, MAY 2012
AGENDA
• What's SQL and when would you use it
• How to find out what's in your database
• How to pull the information you need, with
progressively more realistic exercises
• How to learn more
• Questions and more practice time
• Note: specific syntax today is for MySQL, but any
database will be similar
WHAT IS SQL?
A N D WH Y I T ’ S U S E F U L T O A N M B A
RELATIONAL DATABASE

Billing
address
has an

Date
placed
Shipping
method
containing

Item

Contact
name

Order

Client

• Stores data in a series of tables
• Also stores information about relationships between
data in tables (hence relational)
Item
number
Quantity
Size
Color
WHAT KIND OF DATA?
• Numeric
• Integers with various possible ranges (sometimes TRUE/FALSE
Boolean values are encoded as 0/1 in an integer field) - INT
• Decimals or floating-point numbers – FLOAT

• Time and date - DATETIME
• Text
• With a specified length in characters – VARCHAR
• Longer text – TEXT

• Binary data – BLOB
WHY USE A RELATIONAL
DATABASE
• Think about a list of contacts in Excel – basically one
database table – and adding a phone number.
• Do you have enough phone number columns?
• Does cell phone have its own field or is it just
another phone number?
• How do you mark the primary phone number?
• A database lets you have as many phone numbers
as you want associated with one person, because
you can put phone numbers in a separate table.
STRUCTURED QUERY LANGUAGE
• SQL is a way to pull the information you need out of
a relational database
• You’ll probably use it to fetch summary information
from a central data warehouse and then do
additional analysis in Excel/SAS/etc.
• SQL is also used (by the people who set up the data
warehouse) to create tables, insert data, and
delete unneeded information.
SANDBOX
1. Take out your laptop
2. Go to http://coderzone.org/sqlsandbox/
3. Click “Sign In”
WHAT’S IN YOUR DATABASE?
SHOW TABLES; DESCRIBE <TABLENAME>;
SHOW TABLES;
• Returns a list of tables in the database
• May not need to use this if you have a graphical
user interface (GUI)
• Can limit which tables are returned, e.g. “SHOW
TABLES LIKE ‘%c%’;” will return all the tables with a
“c” in their name
DESCRIBE <TABLENAME>;
• Returns information about each field in table
<tablename>
• Includes field name, type, and other information like
if the field can be NULL or if it’s required to have a
value
• May not need to use this if you have a graphical
user interface (GUI)
TRY IT OUT
• In the sandbox, try looking at tables.
• SHOW TABLES [LIKE “%c%”];
• DESCRIBE sb_css_colors;
• Which tables contain the most types of data?
SQL STYLE
• Capitalize SQL keywords (SELECT, JOIN, AS, etc.)
• Lower-case table and field names
Makes it easy to see what values are specific to the
database you’re using.
BASIC DATA SELECTION
SELECT <FIELDS> FROM <TABLENAME>;
SELECT <FIELDS> FROM <TABLENAME>;
• Returns some data from a table
• You’ll need the field names you found before from
the DESCRIBE <tablename> statement
• <fields> can be:
•
•
•
•

One field name
Multiple field names separated by commas
Special value * (asterisk), which means “everything”
Special value COUNT(*), which means “how many rows are
there?”

• This returns all the rows of the table – why might that
be a problem?
TRY IT OUT
• In the sandbox, try looking at some data in tables.
• SELECT * FROM sb_css_colors;
• SELECT COUNT(*) FROM sb_airports;
• SELECT biz_name, state, phone FROM sb_airports;
LIMITING DATA SELECTION
SELECT <FI ELDS> FROM < TABLENAME> WHERE <LI MITS> ;
WHERE
• SELECT <fields> FROM <tablename> WHERE <limits> ;
• This is how to start picking out only the data you’re
interested in
• WHERE clauses can be:
• <fieldname> = <value> such as 2 or “Bob”
• Similar but with LIKE, >, >=, <, <=, != (note that different SQL
implementations require different representations for
dates/times, so you may have to check documentation to
figure out how to say purchase_date > “2012-01-01”, for
example)
• Things involving functions, like ABS(<fieldname>) > 20
• Several of those joined by AND, OR, etc.
TRY IT OUT
• In the sandbox, try limiting what data you grab.
• SELECT * FROM sb_css_colors WHERE
hexcolor=“#800000”
• SELECT * FROM sb_css_colors WHERE hexcolor LIKE
“%FF%”
• SELECT biz_name, state, zip, phone FROM
sb_airports WHERE (state=“IL” OR state=“IN”) AND
phone LIKE “%(800)%”;
MORE DATA SELECTION
SELECT <FIELDS> FROM < TABLENAME> WHERE <LIMITS>
ORDER BY <FIELD> <ORDER> GROUP BY <FIELD>;
ORDER BY
• SELECT <fields> FROM <tablename> ORDER BY
<field> <order>;
• Like sorting in Excel
• Order can be ASC (ascending) or DESC
(descending)
• Don’t sort and then assume you know what the
possible values were – e.g. what’s at the top if you
do SELECT * FROM sb_css_colors ORDER BY hexcolor
DESC;
GROUP BY
• SELECT <fields and/or functions of fields> FROM
<tablename> GROUP BY <field>;
• Lets you create summary statistics directly instead of
in Excel later
• Commonly used functions: COUNT(),
COUNT(DISTINCT), SUM(), AVG(), MAX(), MIN(),
TRY IT OUT
• In the sandbox, try more complicated SELECTs.
• SELECT * FROM sb_css_colors ORDER BY hexcolor
DESC; (what were the possible values?)
• SELECT state, zip, COUNT(*) from sb_airports GROUP
BY zip;
• SELECT state, AVG(zip) FROM sb_airports GROUP BY
state;
CONNECTING TABLES: JOINS
SELECT <FIELDS> FROM <TABLENAME> JOIN
<TABLENAME> ON <FIELD MATCH>;
JOIN
• SELECT <fields> FROM <tablename> JOIN
<tablename> ON <field match>;
• Joins let you connect related data from multiple
tables, e.g. a customer name from a customers
table and an order date from an orders table
• Normally you’ll join on an ID or “key” column
• Often need to specify both table and field when
writing the field match statement
• customers.id = orders.customer_id
TRY IT OUT
• In the sandbox, try joining tables.
• SELECT comp_dept, first_name, last_name, phone
FROM sb_departments JOIN sb_employees ON
sb_departments.emp_id = sb_employees.emp_id
WHERE comp_dept = “Payroll”;
HOW TO LEARN MORE
USEFUL RESOURCES
ONLINE RESOURCES
• MySQL manuals (MySQL is open source, so there are
lots of resources freely available)
• http://dev.mysql.com/doc/refman/5.6/en/index.html

• Question sites:
• http://www.quora.com/MySQL/
• http://programmers.stackexchange.com/questions/tagged
/sql (pretty technical in general)
SANDBOXES
• We’ve used http://coderzone.org/sqlsandbox/
(nice because it has multiple tables)
• Also http://www.w3schools.com/sql/default.asp
• You can make your own sandbox to try things out if
you have web hosting (e.g. unlimited MySQL
databases on DreamHost)
QUESTIONS?
AND MORE PRACTICE TIME

More Related Content

PPTX
Introduction to SQL
Amin Choroomi
 
ODP
BIS05 Introduction to SQL
Prithwis Mukerjee
 
PDF
Chapter 4 Structured Query Language
Eddyzulham Mahluzydde
 
PPT
Introduction to-sql
BG Java EE Course
 
PDF
SQL Overview
Stewart Rogers
 
DOC
A must Sql notes for beginners
Ram Sagar Mourya
 
PPT
SQL : introduction
Shakila Mahjabin
 
PPTX
SQL Commands
Sachidananda M H
 
Introduction to SQL
Amin Choroomi
 
BIS05 Introduction to SQL
Prithwis Mukerjee
 
Chapter 4 Structured Query Language
Eddyzulham Mahluzydde
 
Introduction to-sql
BG Java EE Course
 
SQL Overview
Stewart Rogers
 
A must Sql notes for beginners
Ram Sagar Mourya
 
SQL : introduction
Shakila Mahjabin
 
SQL Commands
Sachidananda M H
 

What's hot (19)

PPTX
DDL(Data defination Language ) Using Oracle
Farhan Aslam
 
PPTX
Structure query language (sql)
Nalina Kumari
 
PPTX
Sql Basics And Advanced
rainynovember12
 
PPT
Introduction to structured query language (sql)
Sabana Maharjan
 
PPTX
Introduction to SQL
Mahir Haque
 
PPTX
SQL Server Learning Drive
TechandMate
 
PPTX
SQL Basics
Hammad Rasheed
 
PPTX
Introduction to SQL
Ehsan Hamzei
 
PPTX
Sql fundamentals
Ravinder Kamboj
 
PPT
Sql intro & ddl 1
Dr. C.V. Suresh Babu
 
PPTX
introdution to SQL and SQL functions
farwa waqar
 
PPT
SQL Queries
Nilt1234
 
PPT
Chapter 07 ddl_sql
Nazir Ahmed
 
PPTX
Introduction to (sql)
Dattatray Ghorpade
 
PDF
Sql notes, sql server,sql queries,introduction of SQL, Beginner in SQL
Prashant Kumar
 
PDF
Sql tutorial
Rumman Ansari
 
PDF
Create table
Nitesh Singh
 
PPTX
Introduction to database
Pongsakorn U-chupala
 
PPTX
SQL for interview
Aditya Kumar Tripathy
 
DDL(Data defination Language ) Using Oracle
Farhan Aslam
 
Structure query language (sql)
Nalina Kumari
 
Sql Basics And Advanced
rainynovember12
 
Introduction to structured query language (sql)
Sabana Maharjan
 
Introduction to SQL
Mahir Haque
 
SQL Server Learning Drive
TechandMate
 
SQL Basics
Hammad Rasheed
 
Introduction to SQL
Ehsan Hamzei
 
Sql fundamentals
Ravinder Kamboj
 
Sql intro & ddl 1
Dr. C.V. Suresh Babu
 
introdution to SQL and SQL functions
farwa waqar
 
SQL Queries
Nilt1234
 
Chapter 07 ddl_sql
Nazir Ahmed
 
Introduction to (sql)
Dattatray Ghorpade
 
Sql notes, sql server,sql queries,introduction of SQL, Beginner in SQL
Prashant Kumar
 
Sql tutorial
Rumman Ansari
 
Create table
Nitesh Singh
 
Introduction to database
Pongsakorn U-chupala
 
SQL for interview
Aditya Kumar Tripathy
 
Ad

Similar to Introduction to SQL (for Chicago Booth MBA technology club) (20)

PPTX
SQL-Demystified-A-Beginners-Guide-to-Database-Mastery.pptx
bhavaniteacher99
 
PPT
Unit4_Lecture-sql.ppt and data science relate
umang2782love
 
PPTX
What Your Database Query is Really Doing
Dave Stokes
 
PDF
PNWPHP -- What are Databases so &#%-ing Difficult
Dave Stokes
 
PDF
Learning SQL
David Raudales
 
PDF
Learning SQL
DAVID RAUDALES
 
PDF
Oracle
thiru986
 
PDF
Sql1
Dolly Agarwal
 
PPT
chap 7.ppt(sql).ppt
arjun431527
 
DOCX
SQL report
Ahmad Zahid
 
PPTX
SQL Tutorial for Marketers
Justin Mares
 
PPTX
Sql – pocket guide
Santhosh Kumar
 
PDF
SQL For PHP Programmers
Dave Stokes
 
PPT
Review of SQL
Information Technology
 
PPT
Chap 7
Karan Patil
 
PPTX
Database Overview
Livares Technologies Pvt Ltd
 
PPTX
Structure Query Language Advance Training
parisaxena1418
 
PPTX
CSE311_IAH_Slide06_SQL _Retrival_Queries.pptx
noshinnawar31
 
PDF
SQL for PHP Programmers -- Dallas PHP Users Group Jan 2015
Dave Stokes
 
SQL-Demystified-A-Beginners-Guide-to-Database-Mastery.pptx
bhavaniteacher99
 
Unit4_Lecture-sql.ppt and data science relate
umang2782love
 
What Your Database Query is Really Doing
Dave Stokes
 
PNWPHP -- What are Databases so &#%-ing Difficult
Dave Stokes
 
Learning SQL
David Raudales
 
Learning SQL
DAVID RAUDALES
 
Oracle
thiru986
 
chap 7.ppt(sql).ppt
arjun431527
 
SQL report
Ahmad Zahid
 
SQL Tutorial for Marketers
Justin Mares
 
Sql – pocket guide
Santhosh Kumar
 
SQL For PHP Programmers
Dave Stokes
 
Review of SQL
Information Technology
 
Chap 7
Karan Patil
 
Database Overview
Livares Technologies Pvt Ltd
 
Structure Query Language Advance Training
parisaxena1418
 
CSE311_IAH_Slide06_SQL _Retrival_Queries.pptx
noshinnawar31
 
SQL for PHP Programmers -- Dallas PHP Users Group Jan 2015
Dave Stokes
 
Ad

More from Jennifer Berk (7)

PDF
Chicago Booth MBA application presentation (2010)
Jennifer Berk
 
PPTX
Minimum Viable Project Management
Jennifer Berk
 
PDF
CSS 201
Jennifer Berk
 
PDF
Twitter For Nonprofits
Jennifer Berk
 
PPT
Social Media At Work
Jennifer Berk
 
PDF
What I Learned on My Fall Vacation
Jennifer Berk
 
PDF
Content Cross-promotion
Jennifer Berk
 
Chicago Booth MBA application presentation (2010)
Jennifer Berk
 
Minimum Viable Project Management
Jennifer Berk
 
CSS 201
Jennifer Berk
 
Twitter For Nonprofits
Jennifer Berk
 
Social Media At Work
Jennifer Berk
 
What I Learned on My Fall Vacation
Jennifer Berk
 
Content Cross-promotion
Jennifer Berk
 

Recently uploaded (20)

PDF
Keppel Ltd. 1H 2025 Results Presentation Slides
KeppelCorporation
 
PDF
Bihar Idea festival - Pitch deck-your story.pdf
roharamuk
 
PDF
New Royals Distribution Plan Presentation
ksherwin
 
PPTX
Financial Management for business management .pptx
Hasibullah Ahmadi
 
PDF
Equinox Gold - Corporate Presentation.pdf
Equinox Gold Corp.
 
PDF
William Trowell - A Construction Project Manager
William Trowell
 
PDF
Followers to Fees - Social media for Speakers
Corey Perlman, Social Media Speaker and Consultant
 
PPTX
PUBLIC RELATIONS N6 slides (4).pptx poin
chernae08
 
PDF
High Capacity Core IC Pneumatic Spec-Sheet
Forklift Trucks in Minnesota
 
PDF
Alan Stalcup - Principal Of GVA Real Estate Investments
Alan Stalcup
 
PPTX
Social Media Marketing for Business Growth
vidhi622006
 
PDF
GenAI for Risk Management: Refresher for the Boards and Executives
Alexei Sidorenko, CRMP
 
DOCX
unit 1 BC.docx - INTRODUCTION TO BUSINESS COMMUICATION
MANJU N
 
PPTX
Certificate of Incorporation, Prospectus, Certificate of Commencement of Busi...
Keerthana Chinnathambi
 
PPTX
Brain Based Enterprises - Harmonising Man, Woman and Machine
Peter Cook
 
PDF
askOdin - An Introduction to AI-Powered Investment Judgment
YekSoon LOK
 
PPTX
Appreciations - July 25.pptxffsdjjjjjjjjjjjj
anushavnayak
 
PPTX
The Ultimate Guide to Customer Journey Mapping
RUPAL AGARWAL
 
PDF
Using Innovative Solar Manufacturing to Drive India's Renewable Energy Revolu...
Insolation Energy
 
DOCX
UNIT 2 BC.docx- cv - RESOLUTION -MINUTES-NOTICE - BUSINESS LETTER DRAFTING
MANJU N
 
Keppel Ltd. 1H 2025 Results Presentation Slides
KeppelCorporation
 
Bihar Idea festival - Pitch deck-your story.pdf
roharamuk
 
New Royals Distribution Plan Presentation
ksherwin
 
Financial Management for business management .pptx
Hasibullah Ahmadi
 
Equinox Gold - Corporate Presentation.pdf
Equinox Gold Corp.
 
William Trowell - A Construction Project Manager
William Trowell
 
Followers to Fees - Social media for Speakers
Corey Perlman, Social Media Speaker and Consultant
 
PUBLIC RELATIONS N6 slides (4).pptx poin
chernae08
 
High Capacity Core IC Pneumatic Spec-Sheet
Forklift Trucks in Minnesota
 
Alan Stalcup - Principal Of GVA Real Estate Investments
Alan Stalcup
 
Social Media Marketing for Business Growth
vidhi622006
 
GenAI for Risk Management: Refresher for the Boards and Executives
Alexei Sidorenko, CRMP
 
unit 1 BC.docx - INTRODUCTION TO BUSINESS COMMUICATION
MANJU N
 
Certificate of Incorporation, Prospectus, Certificate of Commencement of Busi...
Keerthana Chinnathambi
 
Brain Based Enterprises - Harmonising Man, Woman and Machine
Peter Cook
 
askOdin - An Introduction to AI-Powered Investment Judgment
YekSoon LOK
 
Appreciations - July 25.pptxffsdjjjjjjjjjjjj
anushavnayak
 
The Ultimate Guide to Customer Journey Mapping
RUPAL AGARWAL
 
Using Innovative Solar Manufacturing to Drive India's Renewable Energy Revolu...
Insolation Energy
 
UNIT 2 BC.docx- cv - RESOLUTION -MINUTES-NOTICE - BUSINESS LETTER DRAFTING
MANJU N
 

Introduction to SQL (for Chicago Booth MBA technology club)

  • 2. AGENDA • What's SQL and when would you use it • How to find out what's in your database • How to pull the information you need, with progressively more realistic exercises • How to learn more • Questions and more practice time • Note: specific syntax today is for MySQL, but any database will be similar
  • 3. WHAT IS SQL? A N D WH Y I T ’ S U S E F U L T O A N M B A
  • 4. RELATIONAL DATABASE Billing address has an Date placed Shipping method containing Item Contact name Order Client • Stores data in a series of tables • Also stores information about relationships between data in tables (hence relational) Item number Quantity Size Color
  • 5. WHAT KIND OF DATA? • Numeric • Integers with various possible ranges (sometimes TRUE/FALSE Boolean values are encoded as 0/1 in an integer field) - INT • Decimals or floating-point numbers – FLOAT • Time and date - DATETIME • Text • With a specified length in characters – VARCHAR • Longer text – TEXT • Binary data – BLOB
  • 6. WHY USE A RELATIONAL DATABASE • Think about a list of contacts in Excel – basically one database table – and adding a phone number. • Do you have enough phone number columns? • Does cell phone have its own field or is it just another phone number? • How do you mark the primary phone number? • A database lets you have as many phone numbers as you want associated with one person, because you can put phone numbers in a separate table.
  • 7. STRUCTURED QUERY LANGUAGE • SQL is a way to pull the information you need out of a relational database • You’ll probably use it to fetch summary information from a central data warehouse and then do additional analysis in Excel/SAS/etc. • SQL is also used (by the people who set up the data warehouse) to create tables, insert data, and delete unneeded information.
  • 8. SANDBOX 1. Take out your laptop 2. Go to http://coderzone.org/sqlsandbox/ 3. Click “Sign In”
  • 9. WHAT’S IN YOUR DATABASE? SHOW TABLES; DESCRIBE <TABLENAME>;
  • 10. SHOW TABLES; • Returns a list of tables in the database • May not need to use this if you have a graphical user interface (GUI) • Can limit which tables are returned, e.g. “SHOW TABLES LIKE ‘%c%’;” will return all the tables with a “c” in their name
  • 11. DESCRIBE <TABLENAME>; • Returns information about each field in table <tablename> • Includes field name, type, and other information like if the field can be NULL or if it’s required to have a value • May not need to use this if you have a graphical user interface (GUI)
  • 12. TRY IT OUT • In the sandbox, try looking at tables. • SHOW TABLES [LIKE “%c%”]; • DESCRIBE sb_css_colors; • Which tables contain the most types of data?
  • 13. SQL STYLE • Capitalize SQL keywords (SELECT, JOIN, AS, etc.) • Lower-case table and field names Makes it easy to see what values are specific to the database you’re using.
  • 14. BASIC DATA SELECTION SELECT <FIELDS> FROM <TABLENAME>;
  • 15. SELECT <FIELDS> FROM <TABLENAME>; • Returns some data from a table • You’ll need the field names you found before from the DESCRIBE <tablename> statement • <fields> can be: • • • • One field name Multiple field names separated by commas Special value * (asterisk), which means “everything” Special value COUNT(*), which means “how many rows are there?” • This returns all the rows of the table – why might that be a problem?
  • 16. TRY IT OUT • In the sandbox, try looking at some data in tables. • SELECT * FROM sb_css_colors; • SELECT COUNT(*) FROM sb_airports; • SELECT biz_name, state, phone FROM sb_airports;
  • 17. LIMITING DATA SELECTION SELECT <FI ELDS> FROM < TABLENAME> WHERE <LI MITS> ;
  • 18. WHERE • SELECT <fields> FROM <tablename> WHERE <limits> ; • This is how to start picking out only the data you’re interested in • WHERE clauses can be: • <fieldname> = <value> such as 2 or “Bob” • Similar but with LIKE, >, >=, <, <=, != (note that different SQL implementations require different representations for dates/times, so you may have to check documentation to figure out how to say purchase_date > “2012-01-01”, for example) • Things involving functions, like ABS(<fieldname>) > 20 • Several of those joined by AND, OR, etc.
  • 19. TRY IT OUT • In the sandbox, try limiting what data you grab. • SELECT * FROM sb_css_colors WHERE hexcolor=“#800000” • SELECT * FROM sb_css_colors WHERE hexcolor LIKE “%FF%” • SELECT biz_name, state, zip, phone FROM sb_airports WHERE (state=“IL” OR state=“IN”) AND phone LIKE “%(800)%”;
  • 20. MORE DATA SELECTION SELECT <FIELDS> FROM < TABLENAME> WHERE <LIMITS> ORDER BY <FIELD> <ORDER> GROUP BY <FIELD>;
  • 21. ORDER BY • SELECT <fields> FROM <tablename> ORDER BY <field> <order>; • Like sorting in Excel • Order can be ASC (ascending) or DESC (descending) • Don’t sort and then assume you know what the possible values were – e.g. what’s at the top if you do SELECT * FROM sb_css_colors ORDER BY hexcolor DESC;
  • 22. GROUP BY • SELECT <fields and/or functions of fields> FROM <tablename> GROUP BY <field>; • Lets you create summary statistics directly instead of in Excel later • Commonly used functions: COUNT(), COUNT(DISTINCT), SUM(), AVG(), MAX(), MIN(),
  • 23. TRY IT OUT • In the sandbox, try more complicated SELECTs. • SELECT * FROM sb_css_colors ORDER BY hexcolor DESC; (what were the possible values?) • SELECT state, zip, COUNT(*) from sb_airports GROUP BY zip; • SELECT state, AVG(zip) FROM sb_airports GROUP BY state;
  • 24. CONNECTING TABLES: JOINS SELECT <FIELDS> FROM <TABLENAME> JOIN <TABLENAME> ON <FIELD MATCH>;
  • 25. JOIN • SELECT <fields> FROM <tablename> JOIN <tablename> ON <field match>; • Joins let you connect related data from multiple tables, e.g. a customer name from a customers table and an order date from an orders table • Normally you’ll join on an ID or “key” column • Often need to specify both table and field when writing the field match statement • customers.id = orders.customer_id
  • 26. TRY IT OUT • In the sandbox, try joining tables. • SELECT comp_dept, first_name, last_name, phone FROM sb_departments JOIN sb_employees ON sb_departments.emp_id = sb_employees.emp_id WHERE comp_dept = “Payroll”;
  • 27. HOW TO LEARN MORE USEFUL RESOURCES
  • 28. ONLINE RESOURCES • MySQL manuals (MySQL is open source, so there are lots of resources freely available) • http://dev.mysql.com/doc/refman/5.6/en/index.html • Question sites: • http://www.quora.com/MySQL/ • http://programmers.stackexchange.com/questions/tagged /sql (pretty technical in general)
  • 29. SANDBOXES • We’ve used http://coderzone.org/sqlsandbox/ (nice because it has multiple tables) • Also http://www.w3schools.com/sql/default.asp • You can make your own sandbox to try things out if you have web hosting (e.g. unlimited MySQL databases on DreamHost)