Difference between revisions of "SQLZOO:SELECT basics"

From SQLZOO
Jump to: navigation, search
Line 161: Line 161:
 
</div>
 
</div>
 
<p>You are ready for tutorial one:[[SELECT_from_BBC_Tutorial |SELECT statements with WHERE.]]</p>
 
<p>You are ready for tutorial one:[[SELECT_from_BBC_Tutorial |SELECT statements with WHERE.]]</p>
 +
 +
 +
{{Languages}}

Revision as of 10:53, 22 August 2012

name region area population gdp
Afghanistan South Asia 652225 26000000
Albania Europe 28728 3200000 6656000000
Algeria Middle East 2400000 32900000 75012000000
Andorra Europe 468 64000
...

Introducing the BBC Table of Countries

This tutorial introduces SQL as a query language. We will be using the SELECT command on the table bbc:

Summary

The example shows the population of 'France'. Strings should be in 'single quotes';

Show the population of Germany

SELECT population FROM bbc
  WHERE name = 'France'
SELECT population FROM bbc
  WHERE name = 'Germany'
This query shows the population density population/area for each country where the area is over 5,000,000 km2.
Show the per capita gdp: gdp/population for each country where the area is over 5,000,000 km2
SELECT name, population/area FROM bbc
  WHERE area > 5000000
SELECT name, gdp/population FROM bbc
  WHERE area > 5000000

Where to find some very small, very rich countries.
We use AND to ensure that two or more conditions hold true.

The example shows the countries where the population is small and the gdp is high.
Show the name and region where the area is less then 2000 and the gdp is more than 5000000000
SELECT name , region
  FROM bbc
  WHERE population < 2000000
    AND gdp > 5000000000
SELECT name , region
  FROM bbc
  WHERE area < 2000
    AND gdp > 5000000000

Checking a list The word IN allows us to check if an item is in a list. The example shows the name and population for the countries 'Ireland', 'Iceland' and 'Denmark'

Show the name and the population for 'Denmark', 'Finland', 'Norway', 'Sweden'
SELECT name, population FROM bbc
  WHERE name IN ('Ireland', 'Iceland',
                 'Denmark')
SELECT name, population FROM bbc
  WHERE name IN ('Denmark', 'Finland',
                 'Norway', 'Sweden')

What are the countries beginning with G? The word LIKE permits pattern matching - % is the wildcard. The examples shows countries beginning with D

Show each country that begins with G
SELECT name FROM bbc
  WHERE name LIKE 'D%'
SELECT name FROM bbc
  WHERE name LIKE 'G%'

Which countries are not too small and not too big? BETWEEN allows range checking - note that it is inclusive.

Show the area in 1000 square km. Show area/1000 instead of area
SELECT name, area FROM bbc
  WHERE area BETWEEN 207600 AND 244820
SELECT name, area/1000 FROM bbc
  WHERE area BETWEEN 207600 AND 244820
Clear your results

You are ready for tutorial one:SELECT statements with WHERE.


Language: English
Personal tools

Variants
Actions
Reference
Toolbox
Google AdSense