Beginning SQL
Beginning SQL Beginning SQL
FOREIGN KEY (OrderId) REFERENCES Orders(OrderId), CONSTRAINT Films_FK FOREIGN KEY (FilmId) REFERENCES Films(FilmId), CONSTRAINT OrderItems_PK PRIMARY KEY (OrderId, FilmId) ); You need to execute this SQL against the database before continuing with the chapter. As well as creating the tables, also notice that primary keys and foreign keys are specified where appropriate. For example, MemberId in the Orders table is actually taken from the MemberId in the MemberDetails table — it’s a foreign key. Therefore, a foreign key relationship is specified between MemberId in the Orders and MemberDetails tables to ensure that no invalid data is entered. You also need to add some salesperson data to the SalesPerson table: INSERT INTO SalesPerson(SalesPersonId, FirstName, LastName) VALUES (1,’Sandra’,’Hugson’); INSERT INTO SalesPerson(SalesPersonId, FirstName, LastName) VALUES (2,’Frasier’,’Crane’); INSERT INTO SalesPerson(SalesPersonId, FirstName, LastName) VALUES (3,’Daphne’,’Moon’); Likewise, you need to add some Orders and OrderItems. Again, you can save a whole lot of typing by downloading the following code from www.wrox.com. Remember, if you’re using Oracle, you need to change the date format for the OrderDate column to day-month_name-year INSERT INTO Orders(OrderId, MemberId, SalesPersonId, OrderDate) VALUES (10,7,1,’2006-07-30’); INSERT INTO OrderItems(OrderId,FilmId) Values (10,4); INSERT INTO OrderItems(OrderId,FilmId) Values (10,8); INSERT INTO Orders(OrderId, MemberId, SalesPersonId, OrderDate) VALUES (11,4,1,’2006-08-06’); INSERT INTO OrderItems(OrderId,FilmId) Values (11,13); INSERT INTO Orders(OrderId, MemberId, SalesPersonId, OrderDate) VALUES (12,6,1, ‘2006-08-18’); INSERT INTO OrderItems(OrderId,FilmId) Values (12,9); INSERT INTO OrderItems(OrderId,FilmId) Values (12,8); INSERT INTO Orders(OrderId, MemberId, SalesPersonId, OrderDate) VALUES (13,4,1,’2006-09-29’); INSERT INTO OrderItems(OrderId,FilmId) Values (13,12); Advanced Queries 265
- Page 518: The error wording depends on the da
- Page 522: Now execute the query. You receive
- Page 526: The query provides the following re
- Page 530: If you execute this query, you can
- Page 534: To obtain the same results as you w
- Page 538: MemberId 1 10 14 6 5 8 7 11 15 4 13
- Page 542: Now NOT EXISTS returns true, and as
- Page 546: This is the same as the query just
- Page 550: clause specifying that the film’s
- Page 554: 4. Next, quickly double-check a few
- Page 558: Now that you’ve confirmed that th
- Page 562: Summary Queries within Queries This
- Page 568: Chapter 9 264 Figure 9-1 The SQL ne
- Page 574: INSERT INTO Orders(OrderId, MemberI
- Page 578: INSERT INTO OrderItems(OrderId,Film
- Page 582: A more complex question could be,
- Page 586: Advanced Queries What you really wa
- Page 590: FirstName and LastName. You need to
- Page 594: 2. The film club chairperson also w
- Page 598: Executing the preceding query provi
- Page 602: GROUP BY SalesPerson.SalesPersonId,
- Page 606: Executing the preceding SQL creates
- Page 610: ❑ Use IN with your subqueries. Wh
- Page 614: 10 Views Views, as the name implies
- Page 618: Try It Out Building a View 1. The p
FOREIGN KEY (OrderId)<br />
REFERENCES Orders(OrderId),<br />
CONSTRAINT Films_FK<br />
FOREIGN KEY (FilmId)<br />
REFERENCES Films(FilmId),<br />
CONSTRAINT OrderItems_PK PRIMARY KEY (OrderId, FilmId)<br />
);<br />
You need to execute this <strong>SQL</strong> against the database before continuing with the chapter. As well as creating<br />
the tables, also notice that primary keys and foreign keys are specified where appropriate. For example,<br />
MemberId in the Orders table is actually taken from the MemberId in the MemberDetails table — it’s<br />
a foreign key. Therefore, a foreign key relationship is specified between MemberId in the Orders and<br />
MemberDetails tables to ensure that no invalid data is entered.<br />
You also need to add some salesperson data to the SalesPerson table:<br />
INSERT INTO SalesPerson(SalesPersonId, FirstName, LastName)<br />
VALUES (1,’Sandra’,’Hugson’);<br />
INSERT INTO SalesPerson(SalesPersonId, FirstName, LastName)<br />
VALUES (2,’Frasier’,’Crane’);<br />
INSERT INTO SalesPerson(SalesPersonId, FirstName, LastName)<br />
VALUES (3,’Daphne’,’Moon’);<br />
Likewise, you need to add some Orders and OrderItems. Again, you can save a whole lot of typing by<br />
downloading the following code from www.wrox.com. Remember, if you’re using Oracle, you need to<br />
change the date format for the OrderDate column to day-month_name-year<br />
INSERT INTO Orders(OrderId, MemberId, SalesPersonId, OrderDate)<br />
VALUES (10,7,1,’2006-07-30’);<br />
INSERT INTO OrderItems(OrderId,FilmId) Values (10,4);<br />
INSERT INTO OrderItems(OrderId,FilmId) Values (10,8);<br />
INSERT INTO Orders(OrderId, MemberId, SalesPersonId, OrderDate)<br />
VALUES (11,4,1,’2006-08-06’);<br />
INSERT INTO OrderItems(OrderId,FilmId) Values (11,13);<br />
INSERT INTO Orders(OrderId, MemberId, SalesPersonId, OrderDate)<br />
VALUES (12,6,1, ‘2006-08-18’);<br />
INSERT INTO OrderItems(OrderId,FilmId) Values (12,9);<br />
INSERT INTO OrderItems(OrderId,FilmId) Values (12,8);<br />
INSERT INTO Orders(OrderId, MemberId, SalesPersonId, OrderDate)<br />
VALUES (13,4,1,’2006-09-29’);<br />
INSERT INTO OrderItems(OrderId,FilmId) Values (13,12);<br />
Advanced Queries<br />
265