Difference between revisions of "SELECT names"

From SQLZOO
Jump to: navigation, search
Line 115: Line 115:
 
</source>
 
</source>
 
</div>
 
</div>
 
  
 
<div class='qu'>
 
<div class='qu'>
Line 129: Line 128:
 
SELECT name FROM world
 
SELECT name FROM world
 
   WHERE name LIKE '%a%a%a%'
 
   WHERE name LIKE '%a%a%a%'
 +
</source>
 +
</div>
 +
 +
<div class='qu'>
 +
India and Angola have an '''n''' as the second character. You can use the underscore as a single character wildcard.
 +
<source lang='sql'>
 +
SELECT name FROM world
 +
WHERE name LIKE '_n%'
 +
ORDER BY name
 +
</source>
 +
<p class='imper'>Find the countries that have "t" as the second character.</p>
 +
 +
<source lang='sql' class='def'>
 +
SELECT name FROM world
 +
WHERE name LIKE '_n%'
 +
ORDER BY name
 +
</source>
 +
 +
<source lang='sql' class='ans'>
 +
SELECT name FROM world
 +
WHERE name LIKE '_t%'
 +
ORDER BY name
 
</source>
 
</source>
 
</div>
 
</div>

Revision as of 22:34, 20 November 2014

namecontinent
AfghanistanAsia
AlbaniaEurope
AlgeriaAfrica
AndorraEurope
AngolaAfrica
....

Pattern Matching Strings

This tutorial uses the LIKE operator to check names. We will be using the SELECT command on the table world:

Summary

You can use WHERE name LIKE 'B%' to find the countries that start with "B".

  • The % is a wild-card it can match any characters

Find the country that start with Y

SELECT name FROM world
  WHERE name LIKE 'F%'
SELECT name FROM world
  WHERE name LIKE 'Y%'


Find the countries that end with y

SELECT name FROM world
  WHERE name LIKE 'T%'
SELECT name FROM world
  WHERE name LIKE '%y'

Luxembourg has an x - so does one other country. List them both.

Find the countries that contain the letter x

SELECT name FROM world
  WHERE name LIKE 'T%'
SELECT name FROM world
  WHERE name LIKE '%x%'

Iceland, Switzerland end with land - but are there others?

Find the countries that end with land

SELECT name FROM world
  WHERE name LIKE 'T%'
SELECT name FROM world
  WHERE name LIKE '%land'

Columbia starts with a C and ends with ia - there are two more like this.

Find the countries that start with C and end with ia

SELECT name FROM world
  WHERE name LIKE 'T%'
SELECT name FROM world
  WHERE name LIKE 'C%ia'

Greece has a double e - who has a double o?

Find the country that has oo in the name

SELECT name FROM world
  WHERE name LIKE '%ee%'
SELECT name FROM world
  WHERE name LIKE '%oo%'

Bahamas has three a - who else?

Find the countries that have three or more a in the name

SELECT name FROM world
  WHERE name LIKE 'T%'
SELECT name FROM world
  WHERE name LIKE '%a%a%a%'

India and Angola have an n as the second character. You can use the underscore as a single character wildcard.

SELECT name FROM world
 WHERE name LIKE '_n%'
ORDER BY name

Find the countries that have "t" as the second character.

SELECT name FROM world
 WHERE name LIKE '_n%'
ORDER BY name
SELECT name FROM world
 WHERE name LIKE '_t%'
ORDER BY name