Code Monkey home page Code Monkey logo

sql_class_exercise's Introduction

In class exercise - Apartment lab

  • Create a database called apartmentlab
  • Using this database, create two tables, one for owners and one for properties
  • Keep this relationship in mind when designing your schema:
    • One owner can have many properties

###Tables

  • The owners table should consist of:
    • owner_id (this should be the primary key as well as a unique number that increments automatically)
    • name
    • age
  • The properties table should consist of:
    • property_id (this should be the primary key as well as a unique number that increments automatically)
    • name
    • number of units
    • owner_id (this should have the constraint NOT NULL)
      • There should be also be a foreign key that references the owners table

###Questions Write down the following sql statements that are required to solve the following tasks.

1. Show all the tables.
\DT

2. Show all the users. 
*Let me get back to you on this one*

3. Show all the data in the owners table.
SELECT * FROM owners;

4. Show the names of all owners.
SELECT name FROM owners;

5. Show the ages of all of the owners in ascending order. 
SELECT * FROM owners ORDER BY age ASC;

6. Show the name of an owner whose name is Mary. 
SELECT * FROM owners WHERE name LIKE '%Mary';

7. Show the age of all owners who are older than 30. 
SELECT * FROM owners WHERE age > 30;

8. Show the name of all owners whose name starts with an E. 
SELECT * FROM owners WHERE name LIKE 'E%';

9. Add an owner named John who is 33 years old to the owners table.
INSERT INTO owners (name, age) VALUES ('John', 33);

10. Add an owner named Jane who is 43 years old to the owners table. 
INSERT INTO owners (name, age) VALUES ('Jane', 43);

11. Change Jane's age to 30. 
UPDATE owners SET age = 30 WHERE owner_id = 2;

12. Change Jane's name to Janet. 
UPDATE owners SET name = 'Janet' WHERE owner_id = 1;

13. Add a property named Archstone that has 20 units. 
INSERT INTO properties (name, units) VALUES ('Archstone', 20);

14. Delete the owner named Janet. 
DELETE FROM owners WHERE owner_id=2;

15. Show all of the properties in alphabetical order that are not named Archstone and do not have an id of 3 or 5.
SELECT * FROM properties WHERE name NOT IN ('Archstone') AND property_id NOT IN (3, 5) ORDER BY name ASC; 

16. Count the total number of rows in the properties table.
SELECT COUNT(*) FROM properties;

17. Show the highest age of all owners.
SELECT MAX(age) FROM owners;

18. Show the names of the first three owners in your owners table.
SELECT * FROM owners LIMIT 3;

19. Create a foreign key that references the owner_id in the owners table and forces the constraint ON DELETE NO ACTION. 
ALTER TABLE properties ADD CONSTRAINT owner_fk FOREIGN KEY (owner_id) REFERENCES owners (owner_id) ON DELETE NO ACTION;

20. Show all of the information from the owners table and the properties table in one joined table.  
SELECT owners.name, properties.name FROM owners JOIN properties ON owners.owner_id = properties.owner_id;

Bonus (this might require you to look up documentation online)

1. In the properties table change the name of the column "name" to "property_name". 
 ALTER TABLE properties RENAME COLUMN "name" TO "property_name";

2. Count the total number of properties where the owner_id is between 1 and 3.
SELECT COUNT(*) FROM properties WHERE owner_id BETWEEN 1 AND 3;

3. Delete the owners table - what happens? why?
DROP TABLE owners;

sql_class_exercise's People

Contributors

elie avatar js01230 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.