\encoding utf-8;
CREATE DATABASE study;
\c study;
\encoding utf-8;
CREATE TABLE weather ( city varchar(80), temp_lo int, /*low temperature*/ temp_hi int, /*high temperature*/ prcp real, /*precipitation*/ date date);
CREATE TABLE cities (
name varchar(80),
location point
);
INSERT INTO weather(city, temp_lo, temp_hi, prep,date)
VALUES ('San Francisco',46,50,0.25,'1994-11-27');
INSERT INTO cities(name, location) VALUES ('San Francisco', '(-194.0,53.0)');
INSERT INTO weather (date,city,temp_hi,temp_lo)
VALUES ('1994-11-29','Hayward',54,37);
\c study;
SELECT city ,temp_lo,temp_hi,prcp,date FROM weather;
SELECT city, (temp_hi + temp_lo) / 2 AS temp_avg,date FROM weather;
SELECT * FROM weather WHERE city = 'San Francisco' AND prcp > 0.0;
SELECT * FROM weather ORDER BY city;
SELECT * FROM weather ORDER BY city,temp_lo;
SELECT DISTINCT city FROM weather;
SELECT DISTINCT city FROM weather ORDER BY city;
SELECT W1.city,W1.temp_lo AS low, W1.temp_hi AS high, W2.city,W2.temp_lo AS low,W2.temp_hi AS high
FROM weather W1, weather W2 where W1.temp_lo < W2.temp_lo AND W1.temp_hi > W2.temp_hi;
SELECT * FROM weather ,cities WHERE city = name;
SELECT city/*or name*/,temp_lo,temp_hi,prcp,date,location FROM weather,cities WHERE city = name;
SELECT weather.city,weather.temp_lo,weather.hi,weather.prcp,weather.date,cities.location FROM weather, cities WHERE cities.name = weather.city;
SELECT * FROM weather INNER JOIN cities ON(weather.city = cities.name);
SELECT * FROM weather LEFT OUTER JOIN cities ON (
weather.city = cities.name);
SELECT * FROM weather RIGHT OUTER JOIN cities ON (
weather.city = cities.name);
SELECT * FROM weather FULL OUTER JOIN cities ON (
weather.city = cities.name);
\c study;
SELECT max(temp_lo) FROM weather;
SELECT city FROM weather where temp_lo = (select max(temp) FROM weather);
SELECT city,max(temp_lo) FROM weather GROUP BY city;
SELECT city,max(temp_lo) FROM weather GROUP BY city
HAVING max(temp_lo) < 40;
SELECT city, max(temp_lo) FROM weather WHERE city LIKE 'S%' GROUP BY city HAVING max(temp_lo) > 40;
UPDATE weather SET temp_hi = temp_hi - 2,temp_lo = temp_lo - 2 WHERE date > '1994-11-28';
DELETE FROM weather WHERE city = 'Hayward';