USE world; SELECT * FROM city; SELECT * FROM country;
SELECT CountryCode FROM city;
SELECT CountryCode, District FROM city;
SELECT CountryCode AS “Country Code” FROM city;
SELECT CountryCode AS ‘Country Code’, District, Name AS ‘Country Name’ FROM city;
SELECT * FROM city LIMIT 10; # Default = 1000
SELECT AVG(Population) # Excel -> =AVERAGE(Population) FROM city;
SELECT * FROM city #WHERE #Population > 2000 ORDER BY Population DESC # Default = ASC LIMIT 10;
SELECT Name AS ‘Country Name’, LifeExpectancy FROM country ORDER BY LifeExpectancy DESC LIMIT 1;
SELECT * FROM city ORDER BY Name;
SELECT * FROM city LIMIT 1; SHOW CREATE TABLE city;
SELECT * FROM city WHERE id = 2; SELECT * FROM city WHERE CountryCode = “AFG”;
SELECT * FROM city WHERE id >= 5; SELECT * FROM city WHERE Population > 10000 LIMIT 5000; SELECT * FROM city WHERE Population > 10000;
SELECT * FROM city WHERE Population BETWEEN 10000 AND 15000;
SELECT * FROM city WHERE CountryCode = “AFG”;
SELECT * FROM city WHERE CountryCode LIKE “A%”; # Starts with letter A SELECT * FROM city WHERE CountryCode LIKE “AR%”; # Starts with AR SELECT * FROM city WHERE CountryCode LIKE “%N”; # Finishes with N SELECT * FROM city WHERE CountryCode LIKE “%Z%”; # Contains letter Z
SELECT * FROM city WHERE YEAR(timestamp) = “2026”; SELECT * FROM city WHERE MONTH(timestamp) = “12”; SELECT * FROM city WHERE DAY(timestamp) = “02”; SELECT * FROM city WHERE HOUR(timestamp) = “11”;
SELECT * FROM city WHERE YEAR(timestamp) = “2026” AND MONTH(timestamp) = “12” AND DAY(timestamp) = “02”;
SELECT * FROM city WHERE YEAR(timestamp) = “2026” OR MONTH(timestamp) = “12” OR DAY(timestamp) = “02”;
SELECT * FROM city WHERE Name LIKE ‘%New%’;
SELECT Name, MAX(Population) # Aggregation FROM city GROUP BY Name;
SELECT Name, COUNT(1) FROM city GROUP BY Name;
SELECT Name FROM city; # -> Returns > 1000 rows SELECT MAX(Population) FROM city; # -> Returns 1 cell
SELECT * FROM city LIMIT 1; SELECT * FROM country LIMIT 1;
SELECT * FROM city JOIN country ON country.Code = city.CountryCode;
SELECT * FROM city JOIN country ON city.CountryCode = country.Code;
SELECT * FROM country JOIN city ON country.Code = city.CountryCode;
SELECT * FROM country JOIN city ON city.CountryCode = country.Code;
SELECT * FROM country JOIN city ON city.CountryCode = country.Code WHERE country.Name LIKE “M%” AND city.Name LIKE “M%”;
SELECT * FROM country INNER JOIN city ON city.CountryCode = country.Code WHERE country.Name = “Spain”;
SELECT * FROM city WHERE CountryCode = “ESP”;
USE world;
SELECT * FROM countrylanguage INNER JOIN country ON countrylanguage.CountryCode = country.Code;
SELECT * FROM countrylanguage LEFT JOIN country ON countrylanguage.CountryCode = country.Code;
SELECT COUNT(1) FROM countrylanguage; # 984 rows
SELECT * FROM countrylanguage RIGHT JOIN country ON countrylanguage.CountryCode = country.Code;
SELECT COUNT(1) FROM country; # 239 rows = more than one language by country
SELECT COUNT(1) FROM countrylanguage;
SELECT AVG(Population) FROM city;
SELECT * FROM city WHERE Population > 350468.2236;
SELECT * FROM city WHERE Population > (SELECT AVG(Population) FROM city);
SELECT * FROM ( SELECT * FROM city WHERE countryCode = “USA”) as tmp WHERE tmp.Population > 100000;
SELECT * FROM city WHERE CountryCode IN (“AFG”, “USA”); # -> WHERE CountryCode = “AFG” OR CountryCode = “USA
SELECT Code FROM country WHERE Population BETWEEN 1000 and 2000;
SELECT * FROM city WHERE CountryCode = “FLK” OR CountryCode = “NFK” OR CountryCode = “NIU” OR CountryCode = “TKL”OR CountryCode = “VAT”;
SELECT * FROM city WHERE CountryCode IN (“FLK”, “NFK”, “NIU”, “TKL”, “VAT”);
SELECT * FROM city WHERE CountryCode IN ( SELECT Code FROM country WHERE Population BETWEEN 1000 and 2000 ) ;
SELECT DISTINCT(CountryCode) FROM city;
SELECT DISTINCT(CountryCode), COUNT(1) FROM city GROUP BY CountryCode;
SELECT * FROM country WHERE IndepYear = NULL; # Not working
SELECT * FROM country WHERE IndepYear IS NULL; # Use IS with NULL
SELECT * FROM countrylanguage WHERE CountryCode NOT LIKE “CAN”;
SELECT * FROM countrylanguage WHERE CountryCode != “CAN”;
SELECT country.Name, countrylanguage.* FROM countrylanguage JOIN country ON countrylanguage.CountryCode = Country.Code WHERE CountryCode IN (“CAN”, “USA”, “AUS”);
– WHERE column IS NULL; – WHERE column = “NULL”; – WHERE column = “Null”; – WHERE column = “”; – WHERE column = “ “; – WHERE column = “Blank”;
CREATE TABLE example ( id INT NOT NULL AUTO_INCREMENT, student_name VARCHAR(100) NOT NULL COMMENT “The name of the student”, student_age INT, PRIMARY KEY (id) );
INSERT INTO example (student_name, student_age) VALUES (“Sebastien”, “28”); # Transtyping of string to integer INSERT INTO example (student_name, student_age) VALUES (“Betty”, 8); INSERT INTO example (student_name, student_age) VALUES (“Norbert”, “twenty two”); # Raises Error INSERT INTO example (student_name, student_age) VALUES (“Norbert”, 5); # Now works
DROP TABLE example;
UPDATE example SET student_name = “Jacques” WHERE id = 1;
UPDATE example SET student_age = 12 WHERE student_name = “Jacques”; # Does not work in all environment
SELECT MAX(Population) FROM country; # -> Returns 1 cell
SELECT AVG(Population) FROM country; # -> Returns 1 cell
SELECT CONCAT(Name, “ - Population: “, Population) # spaces need to be written manually FROM country;
SELECT DISTINCT(Language) FROM countrylanguage;
SELECT COUNT(1) FROM countrylanguage;
SELECT DISTINCT(Language), COUNT(1) FROM countrylanguage GROUP BY Language;