1. Open Firefox and find the SQLite Manager Plugin in the tools menu:

2. Create a new database called “contributions”:

3. Create a new table called “contributors” (
) and give it the following field definitions:

4. Insert a row of data:
Use the “Execute SQL” tab (it’s in the second menu row, under the icons): 
INSERT INTO contributors (last_name, first_name, city, state, zip, amount) VALUES ('Buffet', 'Warren', 'Omaha', 'Nebraska', '68101', 1500);
5. Insert three more rows (one at a time or all at once)
INSERT INTO contributors (last_name, first_name, city, state, zip, amount) VALUES ('Winfrey', 'Oprah', 'Chicago', 'IL', '60601', 500);
INSERT INTO contributors (last_name, first_name, city, state, zip, amount) VALUES ('Chambers', 'Anne Cox', 'Atlanta', 'GA', '30301', 200);
INSERT INTO contributors (last_name, first_name, city, state, zip, amount) VALUES ('Cathy', 'S. Truett', 'Atlanta', 'GA', '30301', 1200);
6. Select everything from the contributors table:
SELECT * FROM contributors;7. Choose some fields to select:
SELECT city, state FROM contributors;8. Get a distinct set of cities and states:
SELECT DISTINCT city, state FROM contributors;9. Add some conditions to the SELECT:
SELECT * from contributors WHERE state='GA';Now try playing around with some of the operators:
| operator | description |
| = | Equal |
| <> | Not equal* |
| > | Greater than |
| < | Less than |
| >= | Greater than or equal |
| <= | Less than or equal |
Here are some examples:
SELECT * from contributors WHERE amount > 1200;SELECT * from contributors WHERE amount >= 1200;SELECT last_name from contributors WHERE state <> 'GA';10. Combine conditions with AND or OR:
SELECT * FROM contributors WHERE state = 'GA' AND amount > 1000;SELECT * FROM contributors WHERE state = 'GA' OR amount > 1000;11. But watch out for operator precedence:
SELECT * FROM contributors WHERE city = 'Chicago' OR state = 'GA' AND amount > 1000;How did Oprah sneak in there?
Try that again:
SELECT * FROM contributors WHERE (city = 'Chicago' OR state = 'GA') AND amount > 1000;12. Order the results:
SELECT last_name, amount FROM contributors WHERE amount > 200 ORDER BY amount;And reverse the order:
SELECT last_name, amount FROM contributors WHERE amount > 200 ORDER BY amount DESC;And order by more than one column:
SELECT last_name, state, amount FROM contributors ORDER BY state, amount DESC;13. Return only the top two contributors:
SELECT * FROM CONTRIBUTORS ORDER BY amount DESC LIMIT 2;14. Import a delimited file:
a. Go to https://github.com/tthibo/SQL-Tutorial/raw/master/tutorial_files/contributors.txt
c. Click the SQLite Manager Import Wizard icon (
).
- Using the Select File button, browse for the contributors.txt file you just saved.
- Check the “First row contains column names” check box.
- Select Pipe(|) for “Fields separated by”
- For everything else, you can keep the default selections.
- You should have 103 rows of data.
15. Count the number of contributors from California:
SELECT COUNT(id) FROM contributors WHERE state = 'CA';16. Select the minimum and maximum contributions:
SELECT MAX(amount) FROM contributors;SELECT MIN(amount) FROM contributors;17. Add up the contributions from Georgia:
SELECT SUM(amount) FROM contributors WHERE state = 'GA';18. Find the average contribution:
SELECT AVG(amount) FROM contributors;19. Find the total amount of contributions per state:
SELECT state, SUM(amount) FROM contributors GROUP BY state;20. Find the total amount of contributions per city and state:
SELECT city, state, SUM(amount) FROM contributors GROUP BY city, state;Now order cities by their total contributions:
SELECT city, state, SUM(amount) FROM contributors GROUP BY city, state ORDER BY SUM(amount) DESC;
A Gentle Introduction to SQL Using SQLite by Troy Thibodeaux is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
