Difference between revisions of "SELECT from BBC Tutorial"

From SQLZOO
Jump to: navigation, search
(Created page with "==BBC Country Profiles== This tutorial introduces SQL as a query language. We will be using the SELECT command on the table bbc: <table style='' border='1'><tr> <th>name</th>...")
 
Line 54: Line 54:
  
 
==Large Countries==
 
==Large Countries==
 +
[[WHERE filters]]
 
<div class='qu'>
 
<div class='qu'>
 
Show the name for the countries  that have a population of at least 200 million. (200 million is 200000000, there are eight zeros)  
 
Show the name for the countries  that have a population of at least 200 million. (200 million is 200000000, there are eight zeros)  
Line 66: Line 67:
 
</source>
 
</source>
 
</div>
 
</div>
 +
 +
 +
<div class='qu'>
 +
Give the name and the per capita GDP for those countries with a population of at least 200 million.
 +
<div title="HELP:How to calculate per capita GDP" class='hint'>
 +
per capita GDP is the GDP divided by the population GDP/population
 +
</div>
 +
<source lang='sql' class='def'>
 +
</source>
 +
 +
<source lang='sql' class='ans'>
 +
SELECT name, gdp/population FROM bbc
 +
  WHERE population > 200000000
 +
</source>
 +
</div>
 +
 +
<div class='qu'>
 +
Show the <code>name</code> and <code>population</code> in millions for the countries of 'Middle East'
 +
Divide the population by 1000000 to get population in millions.
 +
<source lang='sql' class='def'>
 +
</source>
 +
 +
<source lang='sql' class='ans'>
 +
SELECT name, population/1000000 FROM bbc
 +
  WHERE region='Middle East'
 +
</source>
 +
</div>
 +
 +
<div class='qu'>
 +
Show the <code>name</code> and <code>population</code> for 'France', 'Germany', 'Italy'
 +
<source lang='sql' class='def'>
 +
</source>
 +
 +
<source lang='sql' class='ans'>
 +
SELECT name, population FROM bbc
 +
  WHERE name IN ('France','Germany','Italy')
 +
</source>
 +
</div>
 +
 +
<div class='qu'>
 +
Identify the countries which have names including the word 'United'
 +
<source lang='sql' class='def'>
 +
</source>
 +
 +
<source lang='sql' class='ans'>
 +
SELECT name FROM bbc
 +
  WHERE name LIKE '%United%'
 +
</source>
 +
</div>
 +
 +
<h2>What Next</h2>
 +
<ul>
 +
  <li>You can play a game:
 +
  [http://sqlzoo.net/~andrew/brain/bt.htm Find the duplicate]
 +
  </li>
 +
  <li>You can to continue practicing the the same techniques
 +
    and gain more experience of the basic skills on the Nobel table.
 +
  [http://sqlzoo.net/w/index.php/SELECT_from_Nobel_Tutorial The <code>WHERE</code> statement using the
 +
  <code>nobel</code> table.]
 +
  </li>
 +
  <li>You can learn about nested statements, these are instructive
 +
    and entertaining, but rarely useful.
 +
  [http://sqlzoo.net/w/index.php/SELECT_within_SELECT_Tutorial Nested <code>SELECT</code> statements using the
 +
  <code>bbc</code> table.</li>]
 +
</ul>

Revision as of 12:16, 12 July 2012

Contents

BBC Country Profiles

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

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
...

Warming up

Read the notes about this table. Observe the result of running a simple SQL command.

SELECT name, region, population FROM bbc
SELECT name, region, population FROM bbc

Large Countries

WHERE filters

Show the name for the countries that have a population of at least 200 million. (200 million is 200000000, there are eight zeros)

SELECT name FROM bbc
WHERE population>250000000
SELECT name FROM bbc
WHERE population>200000000


Give the name and the per capita GDP for those countries with a population of at least 200 million.

per capita GDP is the GDP divided by the population GDP/population

 
SELECT name, gdp/population FROM bbc
  WHERE population > 200000000

Show the name and population in millions for the countries of 'Middle East' Divide the population by 1000000 to get population in millions.

 
SELECT name, population/1000000 FROM bbc
  WHERE region='Middle East'

Show the name and population for 'France', 'Germany', 'Italy'

 
SELECT name, population FROM bbc
  WHERE name IN ('France','Germany','Italy')

Identify the countries which have names including the word 'United'

 
SELECT name FROM bbc
  WHERE name LIKE '%United%'

What Next

Personal tools
Namespaces

Variants
Actions
Reference
Toolbox
Google AdSense