Reading Data

Angus Hardware, like most retail stores, occasionally offers its customers discounts in the form of coupons. They like to track which customers take advantage of which coupons, both as a marketing tool, and to aid in fraud detection. They’ve decided that the best way to manage this coupon usage data is with a relational database.

Figure 11-1 shows the portion of the coupon database schema I use in this chapter.

Coupon database schema
Figure 11-1. Coupon database schema

The results of any SQL select statement come in the form of a table of data. Although it may not represent any actual table in the database, it still consists of rows and columns. Take, for example, the following query:

select coupon_code, total_discount, redemption_date 
from coupon_redemptions
where redemption_date >= '11/7/2002' order by customer_id;

This query returns a table of data that looks like Table 11-1.

Table 11-1. Results of SQL select statement

coupon_code

total_discount

redemption_date

117GG

10.00

11/7/2002

167YH

10.00

11/8/2002

987UI

20.00

11/8/2002

...

The coupon_redemption table actually contains other columns, but because I only selected three, the result set only includes those three. In fact, you can see that these results are actually returned in order of a column that is not included in the result set, the customer_id. The result set also does not include all the rows, ...

Get .NET & XML now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.