These four modules are directly sourced from Georgia Institute of Technology and modified only for Coder Academy. These are not to be commercially used or shared. Modified by Aaron J Mendonsa.
For Macs:
Download PostgresApp
Download Postico
For Ubuntu/WSL: Download pgAdmin4
SEQUEL: Structured English Query Language (IBM Research) - 1973
SQL: Structured Query Language
Version History:
- SQL/86, SQL/89
- SQL/92 or SQL2
- SQL/99 or SQL3
- Further revisions in 2003, 2006, 2008, 2011...
SQL is supported by IBM, Oracle, SQLServer, MySQL, etc...
INSERT INTO Students (Email, Age, Sex)
VALUES ('coder@coderacademy.com', 20, 'F');
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 20 | F |
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 20 | F |
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
coder@coderacademy.com | 20 | F |
Insert only inserts one row at a time
DELETE FROM Students
WHERE Age = 20
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 20 | F |
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
coder@coderacademy.com | 20 | F |
Students
Age | Sex | |
---|---|---|
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
Delete can delete a set of rows
UPDATE Students
SET Age = 21
WHERE Email = 'user1@coderacademy.com'
AND Age = 20
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 20 | F |
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
coder@coderacademy.com | 20 | F |
After Update
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 21 | F |
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
coder@coderacademy.com | 20 | F |
Update can update a set of rows
What will happen when we perform an INSERT operation on the Students table?
INSERT INTO Students (Email, Age, Sex)
VALUES ('coder@coderacademy.com', 25, 'M');
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 21 | F |
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
coder@coderacademy.com | 20 | F |
a) The table will have 5 rows
b) The Age and Sex of Student will be updated
c) The INSERT operation is rejected due to a primary key violation
SELECT column_1, column_2, column_3,...,column_n
FROM table_1, table_2,..., table_3
WHERE condition;
Column is a name of a column, like Age, or Email
Table is the name of the table, like Students
Condition may compare values of columns to constants or to each other, eg.
- Age > 20
- Sex = 'M' Can be used with logical operators AND, OR, NOT'
SELECT Email, Age, Sex
FROM Students;
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 21 | F |
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
coder@coderacademy.com | 20 | F |
After Selection
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 21 | F |
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
coder@coderacademy.com | 20 | F |
Alternatively:
SELECT *
FROM Students;
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 21 | F |
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
coder@coderacademy.com | 20 | F |
After Selection
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 21 | F |
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
coder@coderacademy.com | 20 | F |
Find all Students who are Female.
SELECT *
FROM Students
WHERE Sex = 'F';
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 21 | F |
user2@coderacademy.com | 30 | M |
user3@coderacademy.com | 40 | F |
coder@coderacademy.com | 20 | F |
After Selection
Students
Age | Sex | |
---|---|---|
user1@coderacademy.com | 21 | F |
user3@coderacademy.com | 40 | F |
cåoder@coderacademy.com | 20 | F |
Find all Students who have the same CurrentCity and HomeTown or whose hometown is in Melbourne.
SELECT *
FROM Students
WHERE CurrentCity = HomeTown OR
HomeTown = 'Melbourne';
Students
Age | Sex | CurrentCity | HomeTown | |
---|---|---|---|---|
user1@coderacademy.com | 21 | F | Sydney | Melbourne |
user2@coderacademy.com | 30 | M | Melbourne | Canberra |
user3@coderacademy.com | 40 | F | Melbourne | Sydney |
coder@coderacademy.com | 20 | F | Perth | Perth |
After Selection
Students
Age | Sex | CurrentCity | HomeTown | |
---|---|---|---|---|
user1@coderacademy.com | 21 | F | Sydney | Melbourne |
coder@coderacademy.com | 20 | F | Perth | Perth |