// projects.sql
10 Best SQL Projects
Hand-picked and ordered easiest → hardest — each with complete code and expected output. Build these to turn lessons into a portfolio.
Back to SQL course
// solution.code
sql
-- Personal Contact List Database
-- Create the contacts table
CREATE TABLE contacts (
contact_id INTEGER PRIMARY KEY AUTOINCREMENT,
first_name TEXT NOT NULL,
last_name TEXT NOT NULL,
phone TEXT,
email TEXT,
relationship TEXT
);
-- INSERT: Add some contacts
INSERT INTO contacts (first_name, last_name, phone, email, relationship)
VALUES
('John', 'Smith', '555-0101', 'john.smith@email.com', 'Friend'),
('Sarah', 'Johnson', '555-0102', 'sarah.j@email.com', 'Family'),
('Mike', 'Davis', '555-0103', 'mike.d@email.com', 'Colleague'),
('Emily', 'Brown', '555-0104', 'emily.b@email.com', 'Friend');
-- SELECT: Display all contacts
SELECT * FROM contacts;
-- SELECT: Find specific contact
SELECT first_name, last_name, phone
FROM contacts
WHERE last_name = 'Smith';
-- UPDATE: Change a contact's phone number
UPDATE contacts
SET phone = '555-9999', email = 'john.smith.new@email.com'
WHERE contact_id = 1;
-- SELECT: Verify the update
SELECT * FROM contacts WHERE contact_id = 1;
-- DELETE: Remove a contact
DELETE FROM contacts WHERE contact_id = 3;
-- SELECT: Display remaining contacts
SELECT contact_id, first_name, last_name, relationship
FROM contacts
ORDER BY last_name; output
contact_id|first_name|last_name|phone|email|relationship 1|John|Smith|555-0101|john.smith@email.com|Friend 2|Sarah|Johnson|555-0102|sarah.j@email.com|Family 3|Mike|Davis|555-0103|mike.d@email.com|Colleague 4|Emily|Brown|555-0104|emily.b@email.com|Friend first_name|last_name|phone John|Smith|555-0101 contact_id|first_name|last_name|phone|email|relationship 1|John|Smith|555-9999|john.smith.new@email.com|Friend contact_id|first_name|last_name|relationship 4|Emily|Brown|Friend 2|Sarah|Johnson|Family 1|John|Smith|Friend
