topical media & game development
basic-mysql-08-ch08-examples.sql / sql
/* Chapter 8 - Examples */
CREATE TABLE Inventory
(
ProductID SMALLINT NOT NULL PRIMARY KEY,
InStock SMALLINT NOT NULL,
OnOrder SMALLINT NOT NULL,
Reserved SMALLINT NOT NULL
);
INSERT INTO Inventory
VALUES (101, 10, 15, 4), (102, 16, 9, 3), (103, 15, 2, 13);
INSERT INTO Inventory
VALUES (104, 16, 25-InStock, 0);
CREATE TABLE CDs
(
CDID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
CDName VARCHAR(50) NOT NULL,
InStock SMALLINT UNSIGNED NOT NULL,
OnOrder SMALLINT UNSIGNED NOT NULL,
Reserved SMALLINT UNSIGNED NOT NULL,
Department ENUM('Classical', 'Popular') NOT NULL,
Category VARCHAR(20)
);
INSERT INTO CDs (CDName, InStock, OnOrder, Reserved, Department, Category)
VALUES ('Bloodshot', 10, 5, 3, 'Popular', 'Rock'),
('The Most Favorite Opera Duets', 10, 5, 3, 'Classical', 'Opera'),
('New Orleans Jazz', 17, 4, 1, 'Popular', 'Jazz'),
('Music for Ballet Class', 9, 4, 2, 'Classical', 'Dance'),
('Music for Solo Violin', 24, 2, 5, 'Classical', NULL),
('Cie li di Toscana', 16, 6, 8, 'Classical', NULL),
('Mississippi Blues', 2, 25, 6, 'Popular', 'Blues'),
('Pure', 32, 3, 10, 'Popular', NULL),
('Mud on the Tires', 12, 15, 13, 'Popular', 'Country'),
('The Essence', 5, 20, 10, 'Popular', 'New Age'),
('Embrace', 24, 11, 14, 'Popular', 'New Age'),
('The Magic of Satie', 42, 17, 17, 'Classical', NULL),
('Swan Lake', 25, 44, 28, 'Classical', 'Dance'),
('25 Classical Favorites', 32, 15, 12, 'Classical', 'General'),
('La Boheme', 20, 10, 5, 'Classical', 'Opera'),
('Bach Cantatas', 23, 12, 8, 'Classical', 'General'),
('Golden Road', 23, 10, 17, 'Popular', 'Country'),
('Live in Paris', 18, 20, 10, 'Popular', 'Jazz'),
('Richland Woman Blues', 22, 5, 7, 'Popular', 'Blues'),
('Morimur (after J. S. Bach)', 28, 17, 16, 'Classical', 'General'),
('The Best of Italian Opera', 10, 35, 12, 'Classical', 'Opera'),
('Runaway Soul', 15, 30, 14, 'Popular', NULL),
('Stages', 42, 0, 8, 'Popular', 'Blues'),
('Bach: Six Unaccompanied Cello Suites', 16, 8, 8, 'Classical', 'General');
SELECT CDName, Department, Category
FROM CDs
WHERE Category=NULL
ORDER BY CDName;
SELECT CDName, Department, Category
FROM CDs
WHERE Category<=>NULL
ORDER BY CDName;
SELECT CDName, Department, Category
FROM CDs
WHERE Category IS NULL
ORDER BY CDName;
SELECT CDName, Department, Category
FROM CDs
WHERE Category IS NOT NULL
ORDER BY CDName;
SELECT CDName, InStock, OnOrder, Reserved
FROM CDs
WHERE (InStock+OnOrder-Reserved)>20
ORDER BY CDName;
SELECT CDName, InStock, OnOrder, Reserved
FROM CDs
WHERE (InStock+OnOrder-Reserved)<20
ORDER BY CDName;
SELECT CDName, Category, InStock
FROM CDs
WHERE Category IN ('Blues', 'Jazz')
ORDER BY CDName;
SELECT CDName, InStock, OnOrder, Reserved
FROM CDs
WHERE (InStock+OnOrder-Reserved) NOT BETWEEN 10 AND 20
ORDER BY CDName;
SELECT CDName, InStock+OnOrder-Reserved AS Available
FROM CDs
WHERE CDName LIKE '\%bach%'
ORDER BY CDName;
SELECT CDName, InStock+OnOrder-Reserved AS Available
FROM CDs
WHERE CDName REGEXP '^[a-f]'
ORDER BY CDName;
SELECT CDName, InStock
FROM CDs
WHERE CDName REGEXP '^[mn].*[sz]
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.