The Language of SQL
SQL Statements and Data for MySQL
How to Use This Document
This document contains all the SQL statements in "The Language of SQL" in the syntax of MySQL.
Additionally, this document allows you to create the same data used in the book. This will allow you to execute the SQL statements and see the same results.
There are three prerequisites:
- Install MySQL Community Server
- Install MySQL Workbench, version 5.2 or higher
- Create a database
Appendix B of "The Language of SQL" contains instructions on how do these installs and create a database.
To use any of the SQL statements in this document, simply copy the desired statements into MySQL Workbench.
For each chapter in this book, you will find two sets of SQL statements:
- Setup Scripts
The setup scripts allow you to create the data needed to execute all statements in that chapter. These scripts consist of CREATE TABLE commands to create the tables and INSERT statements to insert data into those tables. There are also DROP TABLE statements which delete the tables if that table already exists.
- SQL Statements from the Book
Each statement in the book is shown in the correct syntax for MySQL. If a particular statement doesn't apply to MySQL, then it isn't shown.
Each setup script applies only to the SQL statements which immediately follow. For example, the statements shown for chapter 4 consist of a setup script, followed by the SQL statements found in that chapter. You don't need to execute the chapter 2 or 3 setup scripts in order to use the scripts in chapter 4.
The setup scripts in chapters 2, 6, 17, and 18 have been separated into multiple parts. This occurs because those chapters have situations where data is modified in some way, requiring additional setup scripts for subsequent SQL statments to work correctly.
All of the statements in a setup script can be executed all at once. However, if you should encounter any problems in executing a setup script, try executing the statements one at a time. In most cases, that will solve any problems you encounter.
There are no scripts or SQL statements for chapters 1, 19 or 20.
The following is a list of chapters. Click on any of these links to go immediately to the SQL for that chapter.
Chapter 2
Chapter 3
Chapter4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Chapter 13
Chapter 14
Chapter 15
Chapter 16
Chapter 17
Chapter 18
Chapter 2
Setup Script - Part 1:
DROP TABLE IF EXISTS Customers;
CREATE TABLE Customers
(CustomerID INT NOT NULL,
FirstName VARCHAR(45) NULL,
LastName VARCHAR (45) null)
ENGINE = InnoDB;
INSERT INTO Customers (CustomerID, FirstName, LastName) VALUES (1, 'William', 'Smith');
INSERT INTO Customers (CustomerID, FirstName, LastName) VALUES (2, 'Natalie', 'Lopez');
INSERT INTO Customers (CustomerID, FirstName, LastName) VALUES (3, 'Brenda', 'Harper');
Statements from Book:
SELECT * FROM Customers;
SELECT *
FROM Customers;
SELECT LastName
FROM Customers;
SELECT
FirstName,
LastName
FROM Customers;
Setup Script - Part 2:
DROP TABLE IF EXISTS Customers;
CREATE TABLE Customers
(`Last Name` VARCHAR (45) NULL)
ENGINE = InnoDB;
INSERT INTO Customers (`Last Name`) VALUES ('Smith');
INSERT INTO Customers (`Last Name`) VALUES ('Lopez');
INSERT INTO Customers (`Last Name`) VALUES ('Harper');
Statements from Book:
SELECT
`Last Name`
FROM Customers;
Chapter 3
Setup Script:
DROP TABLE IF EXISTS Orders;
CREATE TABLE Orders
(OrderID INT NOT NULL,
FirstName VARCHAR(45) NULL,
LastName VARCHAR (45) NULL,
QuantityPurchased INT NULL,
PricePerItem FLOAT NULL)
ENGINE = InnoDB;
INSERT INTO Orders (OrderID, FirstName, LastName, QuantityPurchased, PricePerItem) VALUES (1, 'William', 'Smith', 4, 2.5);
INSERT INTO Orders (OrderID, FirstName, LastName, QuantityPurchased, PricePerItem) VALUES (2, 'Natalie', 'Lopez', 10, 1.25);
INSERT INTO Orders (OrderID, FirstName, LastName, QuantityPurchased, PricePerItem) VALUES (3, 'Brenda', 'Harper', 5, 4);
DROP TABLE IF EXISTS Orders123;
CREATE TABLE Orders123
(LastName VARCHAR (45) NULL)
ENGINE = InnoDB;
INSERT INTO `Orders123` (`LastName`) VALUES ('Smith');
Statements from Book:
SELECT
'First Name: ',
FirstName
FROM Orders;
SELECT
5,
FirstName
FROM Orders;
SELECT
OrderID,
QuantityPurchased,
PricePerItem,
QuantityPurchased * PricePerItem
FROM Orders;
SELECT
OrderID,
FirstName,
LastName,
CONCAT (FirstName, ' ', LastName)
FROM Orders;
SELECT
OrderID,
FirstName,
LastName,
CONCAT (FirstName, ' ', LastName) AS 'Name'
FROM Orders;
SELECT
LastName
FROM Orders123 AS Orders;
SELECT
Orders.LastName
FROM Orders123 AS Orders;
Chapter 4
Setup Script:
DROP TABLE IF EXISTS table1;
CREATE TABLE table1
(President VARCHAR(20) NULL)
ENGINE = InnoDB;
INSERT INTO table1 (President) VALUES ('George Washington ');
DROP TABLE IF EXISTS Orders;
CREATE TABLE Orders
(OrderID INT NOT NULL,
FirstName VARCHAR(45) NULL,
LastName VARCHAR (45) NULL,
QuantityPurchased INT NULL,
PricePerItem DOUBLE NULL)
ENGINE = InnoDB;
INSERT INTO Orders (OrderID, FirstName, LastName, QuantityPurchased, PricePerItem) VALUES (1, 'William', 'Smith', 4, 2.5);
INSERT INTO Orders (OrderID, FirstName, LastName, QuantityPurchased, PricePerItem) VALUES (2, 'Natalie', 'Lopez', 10, 1.25);
INSERT INTO Orders (OrderID, FirstName, LastName, QuantityPurchased, PricePerItem) VALUES (3, 'Brenda', 'Harper', 5, 4);
DROP TABLE IF EXISTS Products;
CREATE TABLE Products
(ProductID INT NOT NULL,
Description VARCHAR(45) NULL,
Color VARCHAR (45) NULL)
ENGINE = InnoDB;
INSERT INTO Products (ProductID, Description, Color) VALUES (1, 'Chair A', 'Red');
INSERT INTO Products (ProductID, Description) VALUES (2, 'Chair B');
INSERT INTO Products (ProductID, Description, Color) VALUES (3, 'Lamp C', 'Green');
Statements from Book:
SELECT
LEFT ('sunlight',3) AS 'The Answer';
SELECT
RIGHT ('sunlight',5) AS 'The Answer';
SELECT
RIGHT (President,10) AS 'Last Name'
FROM table1;
SELECT
SUBSTRING('thewhitegoat', 4, 5) AS 'The Answer';
SELECT
LTRIM(' the apple') AS 'The Answer';
SELECT
OrderID,
FirstName,
LastName,
CONCAT (FirstName, ' ', LastName) AS 'Name'
FROM Orders;
SELECT
UPPER ('Abraham Lincoln') AS 'Convert to Uppercase',
LOWER ('ABRAHAM LINCOLN') AS 'Convert to Lowercase';
SELECT
RIGHT (RTRIM (President),10) AS 'Last Name'
FROM table1;
SELECT
RIGHT ('George Washington', 10);
SELECT NOW();
SELECT DATE_FORMAT ('2009-07-02', '%m');
SELECT DATE_FORMAT ('2009-07-02', '%d');
SELECT DATE_FORMAT ('2009-07-02', '%u');
SELECT DATE_FORMAT ('2009-07-02', '%w') + 1;
SELECT DATEDIFF ('2009-08-14', '2009-07-08');
SELECT ROUND (712.863, 3);
SELECT ROUND (712.863, 2);
SELECT ROUND (712.863, 1);
SELECT ROUND (712.863, 0);
SELECT ROUND (712.863, -1);
SELECT ROUND (712.863, -2);
SELECT RAND ( );
SELECT RAND (100);
SELECT PI ( );
SELECT ROUND (PI ( ), 2);
SELECT
'2009-04-11' AS 'Original Date',
CAST('2009-04-11' AS DATETIME) AS 'Converted Date';
SELECT
Description,
Color
FROM Products;
SELECT
Description,
IFNULL (Color, 'Unknown') AS 'Color'
FROM Products;
Chapter 5
Setup Script:
DROP TABLE IF EXISTS Customers;
CREATE TABLE Customers
(CustomerID INT NOT NULL,
FirstName VARCHAR(45) NULL,
LastName VARCHAR (45) NULL)
ENGINE = InnoDB;
INSERT INTO Customers (CustomerID, FirstName, LastName) VALUES (1, 'William', 'Smith');
INSERT INTO Customers (CustomerID, FirstName, LastName) VALUES (2, 'Janet', 'Smith');
INSERT INTO Customers (CustomerID, FirstName, LastName) VALUES (3, 'Natalie', 'Lopez');
INSERT INTO Customers (CustomerID, FirstName, LastName) VALUES (4, 'Brenda', 'Harper');
DROP TABLE IF EXISTS table1;
CREATE TABLE table1
(TableID INT NOT NULL,
CharacterData VARCHAR(45) NULL,
NumericData INT NULL)
ENGINE = InnoDB;
INSERT INTO table1 (TableID, CharacterData, NumericData) VALUES (1, '23', 23);
INSERT INTO table1 (TableID, CharacterData, NumericData) VALUES (2, '5', 5);
INSERT INTO table1 (TableID, CharacterData) VALUES (3, 'Dog');
INSERT INTO table1 (TableID, NumericData) VALUES (4, -6);
Statements from Book:
SELECT
FirstName,
LastName
FROM Customers
ORDER BY LastName;
SELECT
FirstName,
LastName
FROM Customers
ORDER BY FirstName;
SELECT
FirstName,
LastName
FROM Customers
ORDER BY FirstName ASC;
SELECT
FirstName,
LastName
FROM Customers
ORDER BY FirstName DESC;
SELECT
FirstName,
LastName
FROM Customers
ORDER BY LastName, FirstName;
SELECT
CONCAT(LastName, ', ', FirstName) AS 'Name'
FROM Customers
ORDER BY Name;
SELECT
FirstName,
LastName
FROM Customers
ORDER BY CONCAT(LastName, FirstName);
SELECT NumericData
FROM table1
ORDER BY NumericData;
SELECT
IFNULL (NumericData, 0)
FROM table1
ORDER BY IFNULL(NumericData,0);
SELECT
CharacterData
FROM table1
ORDER BY CharacterData;
Chapter 6
Setup Script - Part 1:
DROP TABLE IF EXISTS Products;
CREATE TABLE Products
(ProductID INT NOT NULL,
CategoryCode VARCHAR(45) NULL,
ProductDescription VARCHAR (45) NULL)
ENGINE = InnoDB;
INSERT INTO Products (ProductID, CategoryCode, ProductDescription) VALUES (1, 'F', 'Apple');
INSERT INTO Products (ProductID, CategoryCode, ProductDescription) VALUES (2, 'F', 'Orange');
INSERT INTO Products (ProductID, CategoryCode, ProductDescription) VALUES (3, 'S', 'Mustard');
INSERT INTO Products (ProductID, CategoryCode, ProductDescription) VALUES (4, 'V', 'Carrot');
Statements from Book:
SELECT
CASE CategoryCode
WHEN 'F' THEN 'Fruit'
WHEN 'V' THEN 'Vegetable'
ELSE 'Other'
END AS 'Category',
ProductDescription AS 'Description'
FROM Products;
SELECT
CASE
WHEN CategoryCode = 'F' THEN 'Fruit'
WHEN CategoryCode = 'V' THEN 'Vegetable'
ELSE 'Other'
END AS 'Category',
ProductDescription AS 'Description'
FROM Products;
Setup Script - Part 2:
DROP TABLE IF EXISTS Products;
CREATE TABLE Products
(ProductID INT NOT NULL,
Fruit VARCHAR(45) NULL,
Vegetable VARCHAR (45) NULL,
Spice VARCHAR (45) NULL,
ProductDescription VARCHAR (45) NULL)
ENGINE = InnoDB;
INSERT INTO Products (ProductID, Fruit, Vegetable, Spice, ProductDescription) VALUES (1, 'X', ' ', ' ', 'Apple');
INSERT INTO Products (ProductID, Fruit, Vegetable, Spice, ProductDescription) VALUES (2, 'X', ' ', ' ', 'Orange');
INSERT INTO Products (ProductID, Fruit, Vegetable, Spice, ProductDescription) VALUES (3, ' ', ' ', 'X', 'Mustard');
INSERT INTO Products (ProductID, Fruit, Vegetable, Spice, ProductDescription) VALUES (4, ' ', 'X', ' ', 'Carrot');
Statements from Book:
SELECT
CASE
WHEN Fruit = 'X' THEN 'Fruit'
WHEN Vegetable = 'X' THEN 'Vegetable'
ELSE 'Other'
END AS 'Category',
ProductDescription AS 'Description'
FROM Products;
Chapter 7
Setup Script:
DROP TABLE IF EXISTS Orders;
CREATE TABLE Orders
(OrderID INT NOT NULL,
FirstName VARCHAR(45) NULL,
LastName VARCHAR (45) NULL,
QuantityPurchased INT NULL,
PricePerItem DOUBLE NULL)
ENGINE = InnoDB;
INSERT INTO Orders (OrderID, FirstName, LastName, QuantityPurchased, PricePerItem) VALUES (1, 'William', 'Smith', 4, 2.5);
INSERT INTO Orders (OrderID, FirstName, LastName, QuantityPurchased, PricePerItem) VALUES (2, 'Natalie', 'Lopez', 10, 1.25);
INSERT INTO Orders (OrderID, FirstName, LastName, QuantityPurchased, PricePerItem) VALUES (3, 'Brenda', 'Harper', 5, 4);
DROP TABLE IF EXISTS Books;
CREATE TABLE Books
(BookID INT NOT NULL,
Title VARCHAR(45) NULL,
Author VARCHAR (45) NULL,
CurrentMonthSales INT NULL)
ENGINE = InnoDB;
INSERT INTO Books (BookID, Title, Author, CurrentMonthSales) VALUES (1, 'Pride and Prejudice', 'Austen', 15);
INSERT INTO Books (BookID, Title, Author, CurrentMonthSales) VALUES (2, 'Animal Farm', 'Orwell', 7);
INSERT INTO Books (BookID, Title, Author, CurrentMonthSales) VALUES (3, 'Merchant of Venice', 'Shakespeare', 5);
INSERT INTO Books (BookID, Title, Author, CurrentMonthSales) VALUES (4, 'Romeo and Juliet', 'Shakespeare', 8);
INSERT INTO Books (BookID, Title, Author, CurrentMonthSales) VALUES (5, 'Oliver Twist', 'DIckens', 3);
INSERT INTO Books (BookID, Title, Author, CurrentMonthSales) VALUES (6, 'Candide', 'Voltaire', 9);
INSERT INTO Books (BookID, Title, Author, CurrentMonthSales) VALUES (7, 'The Scarlet Letter', 'Hawthorne', 12);
INSERT INTO Books (BookID, Title, Author, CurrentMonthSales) VALUES (8, 'Hamlet', 'Shakespeare', 2);
Statements from Book:
SELECT
FirstName,
LastName,
QuantityPurchased
FROM Orders
WHERE LastName = 'Harper';
SELECT
FirstName,
LastName,
QuantityPurchased
FROM Orders
WHERE QuantityPurchased = 5;
SELECT
FirstName,
LastName,
QuantityPurchased
FROM Orders
WHERE QuantityPurchased > 6;
SELECT
FirstName,
LastName
FROM Orders
WHERE LastName > 'K';
SELECT
Title AS 'Book Title',
CurrentMonthSales AS 'Quantity Sold'
FROM Books
ORDER BY CurrentMonthSales DESC
LIMIT 3;
SELECT
Title AS 'Book Title',
CurrentMonthSales AS 'Quantity Sold'
FROM Books
WHERE Author = 'Shakespeare'
ORDER BY CurrentMonthSales DESC
LIMIT 1;
Chapter 8
Setup Script:
DROP TABLE IF EXISTS Orders;
CREATE TABLE Orders
(OrderID INT NOT NULL,
CustomerName VARCHAR(45) NULL,
State VARCHAR (45) NULL,
QuantityPurchased INT NULL,
PricePerItem DOUBLE NULL)
ENGINE = InnoDB;
INSERT INTO Orders (OrderID, CustomerName, State, QuantityPurchased, PricePerItem) VALUES (1, 'William Smith', 'IL', 4, 2.5);
INSERT INTO Orders (OrderID, CustomerName, State, QuantityPurchased, PricePerItem) VALUES (2, 'Natalie Lopez', 'CA', 10, 1.25);
INSERT INTO Orders (OrderID, CustomerName, State, QuantityPurchased, PricePerItem) VALUES (3, 'Brenda Harper', 'NY', 5, 4);
DROP TABLE IF EXISTS Products;
CREATE TABLE Products
(ProductID INT NOT NULL,
ProductDescription VARCHAR(45) NULL,
Weight INT NULL)
ENGINE = InnoDB;
INSERT INTO Products (ProductID, ProductDescription) VALUES (1, 'Printer A');
INSERT INTO Products (ProductID, ProductDescription, Weight) VALUES (2, 'Printer B', 0);
INSERT INTO Products (ProductID, ProductDescription, Weight) VALUES (3, 'Monitor C', 2);
INSERT INTO Products (ProductID, ProductDescription, Weight) VALUES (4, 'Laptop D', 4);
Statements in Book:
SELECT
CustomerName,
QuantityPurchased
FROM Orders
WHERE QuantityPurchased > 3
AND QuantityPurchased < 7;
SELECT
CustomerName,
QuantityPurchased,
PricePerItem
FROM Orders
WHERE QuantityPurchased > 8
OR PricePerItem > 3;
SELECT
CustomerName,
State,
QuantityPurchased
FROM Orders
WHERE State = 'IL'
OR State = 'CA'
AND QuantityPurchased > 8;
SELECT
CustomerName,
State,
QuantityPurchased
FROM Orders
WHERE (State = 'IL'
OR State = 'CA')
AND QuantityPurchased > 8;
SELECT
CustomerName,
State,
QuantityPurchased
FROM Orders
WHERE State = 'NY'
OR (State = 'IL'
AND (QuantityPurchased >= 3
AND QuantityPurchased <= 10));
SELECT
CustomerName,
State,
QuantityPurchased
FROM Orders
WHERE NOT State = 'NY';
SELECT
CustomerName,
State,
QuantityPurchased
FROM Orders
WHERE State > 'NY';
SELECT
CustomerName,
State,
QuantityPurchased
FROM Orders
WHERE NOT (State = 'IL'
OR State = 'NY');
SELECT
CustomerName,
State,
QuantityPurchased
FROM Orders
WHERE State > 'IL'
AND State > 'NY';
SELECT
CustomerName,
State,
QuantityPurchased
FROM Orders
WHERE NOT (State = 'IL'
AND QuantityPurchased > 3);
SELECT
CustomerName,
State,
QuantityPurchased
FROM Orders
WHERE State > 'IL'
OR QuantityPurchased <= 3;
SELECT
CustomerName,
QuantityPurchased
FROM Orders
WHERE QuantityPurchased >= 5
AND QuantityPurchased <= 20;
SELECT
CustomerName,
QuantityPurchased
FROM Orders
WHERE QuantityPurchased BETWEEN 5 AND 20;
SELECT
CustomerName,
QuantityPurchased
FROM Orders
WHERE QuantityPurchased NOT BETWEEN 5 AND 20;
SELECT
CustomerName,
State
FROM Orders
WHERE State = 'IL'
OR State = 'NY';
SELECT
CustomerName,
State
FROM Orders
WHERE State IN ('IL', 'NY');
SELECT
CustomerName,
State
FROM Orders
WHERE State NOT IN ('IL', 'NY');
SELECT
ProductDescription,
Weight
FROM Products
WHERE Weight = 0;
SELECT
ProductDescription,
Weight
FROM Products
WHERE Weight = 0
OR Weight IS NULL;
SELECT
ProductDescription,
Weight
FROM Products
WHERE IFNULL(Weight, 0) = 0;
SELECT
ProductDescription,
IFNULL(Weight, 0) AS 'Weight'
FROM Products
WHERE Weight = 0
OR Weight IS NULL;
Chapter 9
Setup Script:
DROP TABLE IF EXISTS Movies;
CREATE TABLE Movies
(MovieID INT NOT NULL,
MovieTitle VARCHAR(45) NULL)
ENGINE = InnoDB;
INSERT INTO Movies (MovieID, MovieTitle) VALUES (1, 'Love Actually');
INSERT INTO Movies (MovieID, MovieTitle) VALUES (2, 'His Girl Friday');
INSERT INTO Movies (MovieID, MovieTitle) VALUES (3, 'Love and Death');
INSERT INTO Movies (MovieID, MovieTitle) VALUES (4, 'Sweet and Lowdown');
INSERT INTO Movies (MovieID, MovieTitle) VALUES (5, 'Everyone Says I Love You');
INSERT INTO Movies (MovieID, MovieTitle) VALUES (6, 'Down with Love');
INSERT INTO Movies (MovieID, MovieTitle) VALUES (7, 'One Hundred and One Dalmations');
DROP TABLE IF EXISTS Actors;
CREATE TABLE Actors
(ActorID INT NOT NULL,
FirstName VARCHAR(45) NULL,
LastName VARCHAR(45) NULL)
ENGINE = InnoDB;
INSERT INTO Actors (ActorID, FirstName, LastName) VALUES (1, 'Cary', 'Grant');
INSERT INTO Actors (ActorID, FirstName, LastName) VALUES (2, 'Mary', 'Steenburgen');
INSERT INTO Actors (ActorID, FirstName, LastName) VALUES (3, 'Jon', 'Voight');
INSERT INTO Actors (ActorID, FirstName, LastName) VALUES (4, 'Dustin', 'Hoffman');
INSERT INTO Actors (ActorID, FirstName, LastName) VALUES (5, 'John', 'Wayne');
INSERT INTO Actors (ActorID, FirstName, LastName) VALUES (6, 'Gary', 'Cooper');
INSERT INTO Actors (ActorID, FirstName, LastName) VALUES (7, 'Julie', 'Andrews');
Statements from Book:
SELECT
MovieTitle AS 'Movie'
FROM Movies
WHERE MovieTitle LIKE '%LOVE%';
SELECT
MovieTitle AS 'Movie'
FROM Movies
WHERE MovieTitle LIKE 'LOVE%';
SELECT
MovieTitle AS 'Movie'
FROM Movies
WHERE MovieTitle LIKE '%LOVE';
SELECT
MovieTitle AS 'Movie'
FROM Movies
WHERE MovieTitle LIKE '% LOVE %';
SELECT
FirstName,
LastName
FROM Actors
WHERE FirstName LIKE '_ARY';
SELECT
FirstName,
LastName
FROM Actors
WHERE FirstName LIKE 'J_N';
NOTE: The remaining wildcards are not available in MySQL.
SELECT
SOUNDEX ('Smith') AS 'Sound of Smith',
SOUNDEX ('Smythe') AS 'Sound of Smythe';
NOTE: The statements with the DIFFERENCE function are not available in MySQL.
Chapter 10
Setup Script:
DROP TABLE IF EXISTS SongTitles;
CREATE TABLE SongTitles
(SongID INT NOT NULL,
Artist VARCHAR(45) NULL,
Album VARCHAR(45) NULL,
Title VARCHAR(45) NULL)
ENGINE = InnoDB;
INSERT INTO SongTitles (SongID, Artist, Album, Title) VALUES (1, 'The Beatles', 'Abbey Road', 'Come Together');
INSERT INTO SongTitles (SongID, Artist, Album, Title) VALUES (2, 'The Beatles', 'Abbey Road', 'Sun King');
INSERT INTO SongTitles (SongID, Artist, Album, Title) VALUES (3, 'The Beatles', 'Revolver', 'Yellow Submarine');
INSERT INTO SongTitles (SongID, Artist, Album, Title) VALUES (4, 'The Rolling Stones', 'Let It Bleed', 'Monkey Man');
INSERT INTO SongTitles (SongID, Artist, Album, Title) VALUES (5, 'The Rolling Stones', 'Flowers', 'Ruby Tuesday');
INSERT INTO SongTitles (SongID, Artist, Album, Title) VALUES (6, 'Paul McCartney', 'Ram', 'Smile Away');
DROP TABLE IF EXISTS Fees;
CREATE TABLE Fees
(FeeID INT NOT NULL,
Student VARCHAR(45) NULL,
FeeType VARCHAR(45) NULL,
Fee INT NULL)
ENGINE = InnoDB;
INSERT INTO Fees (FeeID, Student, FeeType, Fee) VALUES (1, 'George', 'Gym', 30);
INSERT INTO Fees (FeeID, Student, FeeType, Fee) VALUES (2, 'George', 'Lunch', 10);
INSERT INTO Fees (FeeID, Student, FeeType, Fee) VALUES (3, 'George', 'Trip', 8);
INSERT INTO Fees (FeeID, Student, FeeType, Fee) VALUES (4, 'Janet', 'Gym', 30);
INSERT INTO Fees (FeeID, Student, FeeType, Fee) VALUES (5, 'Alan', 'Lunch', 10);
DROP TABLE IF EXISTS Grades;
CREATE TABLE Grades
(GradeID INT NOT NULL,
Student VARCHAR(45) NULL,
GradeType VARCHAR(45) NULL,
Grade DECIMAL NULL)
ENGINE = InnoDB;
INSERT INTO Grades (GradeID, Student, GradeType, Grade) VALUES (1, 'Susan', 'Quiz', 92);
INSERT INTO Grades (GradeID, Student, GradeType, Grade) VALUES (2, 'Susan', 'Quiz', 95);
INSERT INTO Grades (GradeID, Student, GradeType, Grade) VALUES (3, 'Susan', 'Homework', 84);
INSERT INTO Grades (GradeID, Student, GradeType, Grade) VALUES (4, 'Kathy', 'Quiz', 62);
INSERT INTO Grades (GradeID, Student, GradeType, Grade) VALUES (5, 'Kathy', 'Quiz', 81);
INSERT INTO Grades (GradeID, Student, GradeType) VALUES (6, 'Kathy', 'Homework');
INSERT INTO Grades (GradeID, Student, GradeType, Grade) VALUES (7, 'Alec', 'Quiz', 58);
INSERT INTO Grades (GradeID, Student, GradeType, Grade) VALUES (8, 'Alec', 'Quiz', 74);
INSERT INTO Grades (GradeID, Student, GradeType, Grade) VALUES (9, 'Alec', 'Homework', 88);
Statements from Book:
SELECT
DISTINCT
Artist
FROM SongTitles
ORDER BY Artist;
SELECT
DISTINCT
Artist,
Album
FROM SongTitles
ORDER BY Artist, Album;
SELECT
SUM(Fee) AS 'Total Gym Fees'
FROM Fees
WHERE FeeType = 'Gym';
SELECT
AVG (Grade) AS 'Average Quiz Score'
FROM Grades
WHERE GradeType = 'Quiz';
SELECT
AVG (Grade) AS 'Average Quiz Score',