This reference covers the SQL commands tested in CIE 9618 Paper 1 theory. Keywords are case-insensitive. String values use single quotes: 'S101'.
AND instead of commas in SELECT lists.
| Type | Meaning | Example value |
|---|---|---|
CHARACTER | Text | 'S101' |
VARCHAR(n) | Text, max n characters | 'Room 3' |
BOOLEAN | True or False | TRUE, FALSE |
INTEGER | Whole number | 78 |
REAL | Decimal number | 19.99 |
DATE | Date YYYY-MM-DD | '2008-05-12' |
TIME | Time HH:MM:SS | '14:30:00' |
CREATE DATABASE School;
CREATE TABLE Student(
StudentID CHARACTER,
FirstName CHARACTER,
SecondName CHARACTER,
DateOfBirth DATE,
ClassID CHARACTER);
ALTER TABLE Student ADD PRIMARY KEY (StudentID); ALTER TABLE STUDENT_SUBJECT ADD PRIMARY KEY (StudentID, SubjectName);
ALTER TABLE Student ADD FOREIGN KEY (ClassID) REFERENCES Class(ClassID);
ALTER TABLE STUDENT ADD Email VARCHAR(60);
CREATE DATABASECREATE TABLE parent tablesALTER TABLE … ADD PRIMARY KEYCREATE TABLE child tablesALTER TABLE … ADD FOREIGN KEYSELECT FirstName, SecondName FROM Student WHERE ClassID = '7A' ORDER BY SecondName;
=, <>, <, >, <=, >=, combined with AND / OR.
WHERE Returned = FALSE WHERE ClassID = '7A' AND SecondName = 'Adams'
ORDER BY SecondName ORDER BY SecondName ASC ORDER BY SecondName DESC
SELECT STUDENT.FirstName, STUDENT.LastName, TUTOR.TutorName FROM STUDENT INNER JOIN CLASS ON STUDENT.ClassCode = CLASS.ClassCode INNER JOIN TUTOR ON CLASS.TutorID = TUTOR.TutorID WHERE STUDENT.ClassCode = 'C5A';
SELECT ClassCode, COUNT(StudentID) AS NumberOfPupils FROM STUDENT GROUP BY ClassCode; SELECT SUM(ExamMark) AS TotalMarks FROM STUDENT_SUBJECT WHERE StudentID = 'S101'; SELECT AVG(ExamMark) AS AveragePhysics FROM STUDENT_SUBJECT WHERE SubjectName = 'Physics';
Allowed aggregate functions: SUM(), COUNT(), AVG().
INSERT INTO Student VALUES('S1301', 'Peter', 'Probert', '2011-06-06', '7A');
INSERT INTO STUDENT(StudentID, FirstName, LastName, ClassCode)
VALUES('S105', 'Fabrice', 'Ah-Sen', 'C5A');
UPDATE STUDENT SET ClassCode = 'C5A' WHERE StudentID = 'S104';
DELETE FROM STUDENT WHERE StudentID = 'S105';
DELETE FROM TableName with no WHERE clause deletes all rows.The following are not required for CIE 9618 Paper 1 and are rejected by the SQL IDE:
DROP DATABASE, DROP TABLELEFT JOIN, RIGHT JOIN, FULL JOIN, OUTER JOINHAVING, LIMIT, UNION, subqueriesCREATE INDEX, views, triggers, transactionsAUTO_INCREMENT, backticks, etc.)