SlideShare a Scribd company logo
1 of 19
SQL Tutorial
                                  Basic SQL Commands




© 2013 1keydata.com All Rights Reserved
Agenda
        • Database Basics
        • SQL Commands
             –   SELECT … FROM
             –   WHERE
             –   ORDER BY
             –   GROUP BY
             –   HAVING

© 2013 1keydata.com All Rights Reserved
Database Basics
       In a relational database, data is stored in tables.


                                          Tables




                   Database
© 2013 1keydata.com All Rights Reserved
Database Basics
        Each table consists of columns and rows. Each column is a
        field in a record, and there is a column name associated with
        each column.                                  Columns
                                Tables




                   Database
© 2013 1keydata.com All Rights Reserved
Database Basics
        Each row represents one record. When we say how many
        records we have, we are referring to the number of rows.
                                                     Columns
                             Tables



                                          Rows




                   Database
© 2013 1keydata.com All Rights Reserved
SELECT … FROM
        SQL is structured similar to the English language. The basic
        command for retrieving data from a database table is to
        SELECT data FROM a table. Not surprisingly, the keywords
        "SELECT" and "FROM" make up the core of a SQL
        statement.

        The syntax for “SELECT… FROM” is:
        SELECT “COLUMN_NAME”
        FROM “TABLE_NAME”

© 2013 1keydata.com All Rights Reserved
SELECT … FROM
        Different ways of selecting data:
        Select more than 1 column:
        SELECT “COLUMN_NAME_1”, “COLUMN_NAME_2”
        FROM “TABLE_NAME”


        Select all columns:               Select unique values:
        SELECT *                          SELECT DISTINCT “Column_Name”
        FROM “TABLE_NAME”                 FROM “TABLE_NAME”




© 2013 1keydata.com All Rights Reserved
WHERE
        Sometimes we want to retrieve only a subset of the data. In
        those cases, we use the “WHERE” keyword.

        The syntax for “WHERE” is:

        SELECT “COLUMN_NAME”
        FROM “TABLE_NAME”
        WHERE “CONDITION”
        CONDITION represents how we want the data to be filtered.

© 2013 1keydata.com All Rights Reserved
ORDER BY
        When we want to list the results in a particular order
        (ascending or descending), we use the ORDER BY keyword at
        the end of the SQL statement.

        The syntax for “ORDER BY” is:

        SELECT “COLUMN_NAME”
        FROM “TABLE_NAME”
        WHERE “CONDITION”
        ORDER BY “COLUMN_NAME” [ASC | DESC]
© 2013 1keydata.com All Rights Reserved
MATHEMATICAL FUNCTIONS

        SQL has built-in mathematical functions to allow us to
        perform mathematical operations on the data. Common
        mathematical functions include:
        • SUM
        • AVG
        • COUNT
        • MAX
        • MIN



© 2013 1keydata.com All Rights Reserved
GROUP BY

       To find the highest Sales_Amount across all stores, we use the
       MAX( ) function in the following SQL:

    SALES_HISTORY
     Date    Store    Sales_Amount
                                          SELECT MAX(Sales_Amount)
                                          FROM SALES_HISTORY;




© 2013 1keydata.com All Rights Reserved
GROUP BY

       To find the highest Sales_Amount for each store, we change
       the SELECT portion to include “Store”:

    SALES_HISTORY
     Date    Store    Sales_Amount
                                          SELECT Store, MAX(Sales_Amount)
                                          FROM SALES_HISTORY;




© 2013 1keydata.com All Rights Reserved
GROUP BY
       However, this SELECT statement by itself is not enough. To
       allow SQL to correctly calculate what we want, we need to use
       the GROUP BY keyword. In the following example, the Store
       column after GROUP BY tells SQL to apply the MAX
       function for each Store.
    SALES_HISTORY
     Date    Store    Sales_Amount
                                          SELECT Store, MAX(Sales_Amount)
                                          FROM SALES_HISTORY
                                          GROUP BY Store;


© 2013 1keydata.com All Rights Reserved
GROUP BY
        To summarize, the syntax for GROUP BY is as follows:


        SELECT “COLUMN_NAME_1”,
         FUNCTION(“COLUMN_NAME_2”)
        FROM “TABLE_NAME”
        WHERE “CONDITION”
        GROUP BY “COLUMN_NAME_1”


© 2013 1keydata.com All Rights Reserved
HAVING
        Previously we had talked about using the WHERE keyword to
        filter results.

        We cannot use WHERE to filter based on the result of a
        function, because we need to specify the filtering condition
        after SQL has calculated the function, and consequently any
        filtering condition based on the function needs to be specified
        after the GROUP BY phrase. So we cannot use the WHERE
        keyword because it is always used before GROUP BY.

        HAVING is used to filter based on the result of a function.

© 2013 1keydata.com All Rights Reserved
HAVING
        The syntax for HAVING is as follows:

        SELECT “COLUMN_NAME_1”,
         FUNCTION(“COLUMN_NAME_2”)
        FROM “TABLE_NAME”
        GROUP BY “COLUMN_NAME_1”
        HAVING (CONDITION based on
         FUNCTION)

© 2013 1keydata.com All Rights Reserved
HAVING
       Using the SALES_HISTORY table we had earlier. If we want
       to sum the sales amount for each store, but only want to see
       results for stores with total sales amount greater than 100, we
       use the following SQL:
    SALES_HISTORY
     Date    Store    Sales_Amount         SELECT Store, SUM(Sales_Amount)
                                           FROM SALES_HISTORY
                                           GROUP BY Store
                                           HAVING SUM(Sales_Amount) > 100;

© 2013 1keydata.com All Rights Reserved
Order of SQL Commands
        A SELECT statement has the following order:
        • SELECT … FROM
        • WHERE
        • GROUP BY
        • HAVING
        • ORDER BY


© 2013 1keydata.com All Rights Reserved
1Keydata SQL Tutorial
               http://www.1keydata.com/sql/sql.html




© 2013 1keydata.com All Rights Reserved

More Related Content

What's hot (20)

introdution to SQL and SQL functions
introdution to SQL and SQL functionsintrodution to SQL and SQL functions
introdution to SQL and SQL functions
 
Chapter 4 Structured Query Language
Chapter 4 Structured Query LanguageChapter 4 Structured Query Language
Chapter 4 Structured Query Language
 
Including Constraints -Oracle Data base
Including Constraints -Oracle Data base Including Constraints -Oracle Data base
Including Constraints -Oracle Data base
 
SQL Overview
SQL OverviewSQL Overview
SQL Overview
 
Sql and Sql commands
Sql and Sql commandsSql and Sql commands
Sql and Sql commands
 
SQL Basics
SQL BasicsSQL Basics
SQL Basics
 
Sql commands
Sql commandsSql commands
Sql commands
 
Sql server T-sql basics ppt-3
Sql server T-sql basics  ppt-3Sql server T-sql basics  ppt-3
Sql server T-sql basics ppt-3
 
Oraclesql
OraclesqlOraclesql
Oraclesql
 
SQL Views
SQL ViewsSQL Views
SQL Views
 
Sql(structured query language)
Sql(structured query language)Sql(structured query language)
Sql(structured query language)
 
Sql Constraints
Sql ConstraintsSql Constraints
Sql Constraints
 
Introduction to SQL
Introduction to SQLIntroduction to SQL
Introduction to SQL
 
Introduction of sql server indexing
Introduction of sql server indexingIntroduction of sql server indexing
Introduction of sql server indexing
 
Advanced sql
Advanced sqlAdvanced sql
Advanced sql
 
Mysql joins
Mysql joinsMysql joins
Mysql joins
 
MS Sql Server: Creating Views
MS Sql Server: Creating ViewsMS Sql Server: Creating Views
MS Sql Server: Creating Views
 
DML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with Examples
DML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with ExamplesDML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with Examples
DML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with Examples
 
Sql views
Sql viewsSql views
Sql views
 
SQL Commands
SQL Commands SQL Commands
SQL Commands
 

Similar to SQL Tutorial - Basic Commands

sqltutorialbasiccommands-130310014513-phpapp01.pdf
sqltutorialbasiccommands-130310014513-phpapp01.pdfsqltutorialbasiccommands-130310014513-phpapp01.pdf
sqltutorialbasiccommands-130310014513-phpapp01.pdfpradeepvunnam2
 
Subqueries, Backups, Users and Privileges
Subqueries, Backups, Users and PrivilegesSubqueries, Backups, Users and Privileges
Subqueries, Backups, Users and PrivilegesAshwin Dinoriya
 
Veri Ambarları için Oracle'ın Analitik SQL Desteği
Veri Ambarları için Oracle'ın Analitik SQL DesteğiVeri Ambarları için Oracle'ın Analitik SQL Desteği
Veri Ambarları için Oracle'ın Analitik SQL DesteğiEmrah METE
 
MS SQLSERVER:Retrieving Data From A Database
MS SQLSERVER:Retrieving Data From A DatabaseMS SQLSERVER:Retrieving Data From A Database
MS SQLSERVER:Retrieving Data From A Databasesqlserver content
 
MS SQL SERVER: Retrieving Data From A Database
MS SQL SERVER: Retrieving Data From A DatabaseMS SQL SERVER: Retrieving Data From A Database
MS SQL SERVER: Retrieving Data From A Databasesqlserver content
 
Chapter – 6 SQL Lab Tutorial.pdf
Chapter – 6 SQL Lab Tutorial.pdfChapter – 6 SQL Lab Tutorial.pdf
Chapter – 6 SQL Lab Tutorial.pdfTamiratDejene1
 
SQL Tutorial - How To Create, Drop, and Truncate Table
SQL Tutorial - How To Create, Drop, and Truncate TableSQL Tutorial - How To Create, Drop, and Truncate Table
SQL Tutorial - How To Create, Drop, and Truncate Table1keydata
 
Database COMPLETE
Database COMPLETEDatabase COMPLETE
Database COMPLETEAbrar ali
 
Using grouping sets in sql server 2008 tech republic
Using grouping sets in sql server 2008   tech republicUsing grouping sets in sql server 2008   tech republic
Using grouping sets in sql server 2008 tech republicKaing Menglieng
 

Similar to SQL Tutorial - Basic Commands (20)

sqltutorialbasiccommands-130310014513-phpapp01.pdf
sqltutorialbasiccommands-130310014513-phpapp01.pdfsqltutorialbasiccommands-130310014513-phpapp01.pdf
sqltutorialbasiccommands-130310014513-phpapp01.pdf
 
Sql
SqlSql
Sql
 
Sql
SqlSql
Sql
 
Subqueries, Backups, Users and Privileges
Subqueries, Backups, Users and PrivilegesSubqueries, Backups, Users and Privileges
Subqueries, Backups, Users and Privileges
 
Oracle notes
Oracle notesOracle notes
Oracle notes
 
MySQL basics
MySQL basicsMySQL basics
MySQL basics
 
Hira
HiraHira
Hira
 
Veri Ambarları için Oracle'ın Analitik SQL Desteği
Veri Ambarları için Oracle'ın Analitik SQL DesteğiVeri Ambarları için Oracle'ın Analitik SQL Desteği
Veri Ambarları için Oracle'ın Analitik SQL Desteği
 
Retrieving Data From A Database
Retrieving Data From A DatabaseRetrieving Data From A Database
Retrieving Data From A Database
 
MS SQLSERVER:Retrieving Data From A Database
MS SQLSERVER:Retrieving Data From A DatabaseMS SQLSERVER:Retrieving Data From A Database
MS SQLSERVER:Retrieving Data From A Database
 
MS SQL SERVER: Retrieving Data From A Database
MS SQL SERVER: Retrieving Data From A DatabaseMS SQL SERVER: Retrieving Data From A Database
MS SQL SERVER: Retrieving Data From A Database
 
Sql wksht-3
Sql wksht-3Sql wksht-3
Sql wksht-3
 
Beg sql
Beg sqlBeg sql
Beg sql
 
Beg sql
Beg sqlBeg sql
Beg sql
 
Chapter – 6 SQL Lab Tutorial.pdf
Chapter – 6 SQL Lab Tutorial.pdfChapter – 6 SQL Lab Tutorial.pdf
Chapter – 6 SQL Lab Tutorial.pdf
 
SQL.ppt
SQL.pptSQL.ppt
SQL.ppt
 
SQL Tutorial - How To Create, Drop, and Truncate Table
SQL Tutorial - How To Create, Drop, and Truncate TableSQL Tutorial - How To Create, Drop, and Truncate Table
SQL Tutorial - How To Create, Drop, and Truncate Table
 
intro for sql
intro for sql intro for sql
intro for sql
 
Database COMPLETE
Database COMPLETEDatabase COMPLETE
Database COMPLETE
 
Using grouping sets in sql server 2008 tech republic
Using grouping sets in sql server 2008   tech republicUsing grouping sets in sql server 2008   tech republic
Using grouping sets in sql server 2008 tech republic
 

Recently uploaded

INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDRafezzaman
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfchwongval
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...Boston Institute of Analytics
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 217djon017
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsVICTOR MAESTRE RAMIREZ
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]📊 Markus Baersch
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Jack DiGiovanna
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryJeremy Anderson
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home ServiceSapana Sha
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改yuu sss
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfgstagge
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort servicejennyeacort
 
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)jennyeacort
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
Identifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanIdentifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanMYRABACSAFRA2
 

Recently uploaded (20)

INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
Call Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort ServiceCall Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort Service
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdf
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business Professionals
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data Story
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdf
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
 
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
Identifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanIdentifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population Mean
 

SQL Tutorial - Basic Commands

  • 1. SQL Tutorial Basic SQL Commands © 2013 1keydata.com All Rights Reserved
  • 2. Agenda • Database Basics • SQL Commands – SELECT … FROM – WHERE – ORDER BY – GROUP BY – HAVING © 2013 1keydata.com All Rights Reserved
  • 3. Database Basics In a relational database, data is stored in tables. Tables Database © 2013 1keydata.com All Rights Reserved
  • 4. Database Basics Each table consists of columns and rows. Each column is a field in a record, and there is a column name associated with each column. Columns Tables Database © 2013 1keydata.com All Rights Reserved
  • 5. Database Basics Each row represents one record. When we say how many records we have, we are referring to the number of rows. Columns Tables Rows Database © 2013 1keydata.com All Rights Reserved
  • 6. SELECT … FROM SQL is structured similar to the English language. The basic command for retrieving data from a database table is to SELECT data FROM a table. Not surprisingly, the keywords "SELECT" and "FROM" make up the core of a SQL statement. The syntax for “SELECT… FROM” is: SELECT “COLUMN_NAME” FROM “TABLE_NAME” © 2013 1keydata.com All Rights Reserved
  • 7. SELECT … FROM Different ways of selecting data: Select more than 1 column: SELECT “COLUMN_NAME_1”, “COLUMN_NAME_2” FROM “TABLE_NAME” Select all columns: Select unique values: SELECT * SELECT DISTINCT “Column_Name” FROM “TABLE_NAME” FROM “TABLE_NAME” © 2013 1keydata.com All Rights Reserved
  • 8. WHERE Sometimes we want to retrieve only a subset of the data. In those cases, we use the “WHERE” keyword. The syntax for “WHERE” is: SELECT “COLUMN_NAME” FROM “TABLE_NAME” WHERE “CONDITION” CONDITION represents how we want the data to be filtered. © 2013 1keydata.com All Rights Reserved
  • 9. ORDER BY When we want to list the results in a particular order (ascending or descending), we use the ORDER BY keyword at the end of the SQL statement. The syntax for “ORDER BY” is: SELECT “COLUMN_NAME” FROM “TABLE_NAME” WHERE “CONDITION” ORDER BY “COLUMN_NAME” [ASC | DESC] © 2013 1keydata.com All Rights Reserved
  • 10. MATHEMATICAL FUNCTIONS SQL has built-in mathematical functions to allow us to perform mathematical operations on the data. Common mathematical functions include: • SUM • AVG • COUNT • MAX • MIN © 2013 1keydata.com All Rights Reserved
  • 11. GROUP BY To find the highest Sales_Amount across all stores, we use the MAX( ) function in the following SQL: SALES_HISTORY Date Store Sales_Amount SELECT MAX(Sales_Amount) FROM SALES_HISTORY; © 2013 1keydata.com All Rights Reserved
  • 12. GROUP BY To find the highest Sales_Amount for each store, we change the SELECT portion to include “Store”: SALES_HISTORY Date Store Sales_Amount SELECT Store, MAX(Sales_Amount) FROM SALES_HISTORY; © 2013 1keydata.com All Rights Reserved
  • 13. GROUP BY However, this SELECT statement by itself is not enough. To allow SQL to correctly calculate what we want, we need to use the GROUP BY keyword. In the following example, the Store column after GROUP BY tells SQL to apply the MAX function for each Store. SALES_HISTORY Date Store Sales_Amount SELECT Store, MAX(Sales_Amount) FROM SALES_HISTORY GROUP BY Store; © 2013 1keydata.com All Rights Reserved
  • 14. GROUP BY To summarize, the syntax for GROUP BY is as follows: SELECT “COLUMN_NAME_1”, FUNCTION(“COLUMN_NAME_2”) FROM “TABLE_NAME” WHERE “CONDITION” GROUP BY “COLUMN_NAME_1” © 2013 1keydata.com All Rights Reserved
  • 15. HAVING Previously we had talked about using the WHERE keyword to filter results. We cannot use WHERE to filter based on the result of a function, because we need to specify the filtering condition after SQL has calculated the function, and consequently any filtering condition based on the function needs to be specified after the GROUP BY phrase. So we cannot use the WHERE keyword because it is always used before GROUP BY. HAVING is used to filter based on the result of a function. © 2013 1keydata.com All Rights Reserved
  • 16. HAVING The syntax for HAVING is as follows: SELECT “COLUMN_NAME_1”, FUNCTION(“COLUMN_NAME_2”) FROM “TABLE_NAME” GROUP BY “COLUMN_NAME_1” HAVING (CONDITION based on FUNCTION) © 2013 1keydata.com All Rights Reserved
  • 17. HAVING Using the SALES_HISTORY table we had earlier. If we want to sum the sales amount for each store, but only want to see results for stores with total sales amount greater than 100, we use the following SQL: SALES_HISTORY Date Store Sales_Amount SELECT Store, SUM(Sales_Amount) FROM SALES_HISTORY GROUP BY Store HAVING SUM(Sales_Amount) > 100; © 2013 1keydata.com All Rights Reserved
  • 18. Order of SQL Commands A SELECT statement has the following order: • SELECT … FROM • WHERE • GROUP BY • HAVING • ORDER BY © 2013 1keydata.com All Rights Reserved
  • 19. 1Keydata SQL Tutorial http://www.1keydata.com/sql/sql.html © 2013 1keydata.com All Rights Reserved