Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

--Chapter 11

DROP DATABASE IF EXISTS EX;


CREATE DATABASE EX;

USE EX;

CREATE TABLE members


(
member_id INT PRIMARY KEY ,
first_name VARCHAR(50) NOT NULL,
last_name varchar(50) NOT NULL,
address varchar(50) ,
city varchar(50) ,
state varchar(50) ,
phone int
);

CREATE TABLE committees


(
committees_id INT PRIMARY KEY,
committees_name VARCHAR(50) NOT NULL UNIQUE
);

CREATE TABLE members_committees


(
members_committees_id INT PRIMARY KEY,
member_id INT,
committees_id INT,
CONSTRAINT mc_fk_member
foreign key (member_id)
references members (member_id),
CONSTRAINT mc_fk_cm
foreign key (committees_id)
references committees (committees_id)
);

INSERT INTO members VALUES


(001, 'Nguyen', 'Duyen', null, null, null, null),
(002, 'So', 'Hyun', null, null, null, null);

INSERT INTO committees values


(101, 'Anh'),
(102, 'Nguyet');

INSERT INTO members_committees values


(201, 001, 102),
(202, 002, 101),
(203, 002, 102);
ALTER TABLE members ADD annual_dues float(3) default '52.50'

select committees_name, last_name, first_name


from committees as c
join members_committees as mc on c.committees_id = mc.committees_id
join members as m on mc.member_id = m.member_id

order by committees_name, last_name, first_name

-- Chapter 12
-- 1
drop view if exists open_items;
CREATE VIEW open_items as
SELECT vendor_name, invoice_number, invoice_total, invoice_total -
payment_total - credit_total as balance_due
from ap.vendors, ap.invoices
where invoice_total - payment_total - credit_total > 0
order by vendor_name

-- 2
select *
from open_items
where balance_due >= 1000

-- 3
drop view if exists open_items_summary;
create view open_items_summary as
select vendors.vendor_name, count(open_items.balance_due) as
open_item_count, sum(open_items.balance_due) as open_item_total
from ap.vendors, open_items
order by sum(balance_due) desc

-- 4
select *
from open_items_summary
limit 5

--5
drop view if exists vendor_address;
create view vendor_address as
select vendor_id, vendor_address1, vendor_address2
from ap.vendors

-- 6
update vendor_address
set vendor_address2 = 'Ste 260'
where vendor_id = 4

You might also like