Are you teaching IT or Computer Science?

Free Resources

Register using your professional address and the URL to a web page proving that you belong to faculty.

Help! My Address Was Rejected!

This site is for educators at non-profit institutions. If you think that your registration was wrongly rejected, get in touch with us.  Contact

Member Login

Not a member yet? Sign Up!

We use email addresses for authentication purposes only. We don't display them, we don't sell them and we don't spam.
click here

Faculty members, please click here.

Our goal is to help instructors teach a great database course. By registering on this site (it's free) instructors, even if they aren't using SQL Success as their official textbook, can download a complete PDF version of the book for evaluation, a PDF version of the slides that come with it, as well as exercises and sample databases; they also gain access to a private forum for discussing SQL and database teaching.


Welcome to the companion site to
SQL Success: Database Programming Proficiency.
Please read an independent review.

SQL Success is available both in print and as a color e-book with short videoclips (if your e-reader supports video)!

Samples are light-weight PDF files that don't include fonts; there may be some minor layout issues.

SQL Success Outline

  1. + Introduction to Databases  Five page sample
    • Where We Come From
    • Designing a Small Database
    • A Bit of Formalism
    • To Remember
    • Exercises
  2. + Introduction to SQL  Five page sample
    • A Structured Query Language
    • Connecting To a Database
    • Creating Tables
    • Inserting Data
    • To Remember
    • Exercises
  3. + Retrieving Data from One Table  Five page sample
    • Installing the Sample Database
    • Seeing What a Table Contains
    • Restricting the Result Set
    • Returning Only Some Columns (and getting rid of duplicates)
    • A Relatively Complex Example
    • To Remember
    • Exercises
  4. + Retrieving Data from Several Tables  Five page sample
    • Joining Tables
    • Set Operators
    • Subqueries
    • To Remember
    • Exercises
  5. + Ordering and Reporting  Five page sample
    • Sorting Data
    • Limiting Output
    • Hierarchies
    • Window Functions
    • HTML Graphs
    • To Remember
    • Exercises
  6. + Fuzzy Searches - Method  Five page sample
    • Similarly Sounding Names
    • Searching Titles
    • How to Think a Query Problem
    • To Remember
    • Exercises
  7. + Changing Data  Five page sample
    • Transactions
    • What Changing Data Means
    • Inserting Data
    • Updating Data
    • Deleting Data
    • Constraints
    • To Remember
    • Exercises
  8. + Functions, Procedures and Triggers  Five page sample
    • Procedural Extensions to SQL
    • The Basics
    • Deeper into Programming
    • Triggers
    • To Remember
    • Exercises
  9. + Speeding up Queries  Five page sample
    • When Physical Ordering is Not Enough
    • What Are Table Indexes
    • Creating an Index
    • Index Efficiency
    • Keeping Indexes Usable
    • Revisiting Constraints
    • Indexes and Physical Ordering
    • To Remember
    • Exercises
  10. + Views, Security and Privileges  Five page sample
    • Views
    • Security, Rights and Data Organization
    • Views and Security
    • Views and Updates
    • The Data Dictionary
    • To Remember
    • Exercises
  11. + Using SQL in Programs  Five page sample
    • Accessing a Database from a Program
    • A Couple of Examples
    • To Remember
  12. + Project Launchpad  Five page sample
    • The Sample Application
    • Sample Programs

Free evaluation e-book available for registered faculty members.

Each zip file contains three installation scripts using respectively utf8 characters (contains accented latin characters), latin1 characters (contains accented letters) and ascii characters (no accents). Download the zip file that corresponds to the DBMS you are using.


moviedb_db2.zip25.9 Kb14-Oct-2018
moviedb_mysql.zip25.1 Kb14-Oct-2018
moviedb_oracle.zip26.1 Kb14-Oct-2018
moviedb_postgres.zip25.5 Kb14-Oct-2018
moviedb_sqlite.zip24.4 Kb14-Oct-2018
moviedb_sqlserver.zip25.2 Kb14-Oct-2018

The following data files are used in Chapter 7 examples.

singing_info.txt158 bytes14-Oct-2012
us_movie_info.csv1.4 Kb05-May-2013
us_movie_info.txt1.2 Kb05-May-2013

Code samples from the book.

SQLSuccess_ch02.zip5.3 Kb26-Jun-2013
SQLSuccess_ch03.zip6.1 Kb26-Jun-2013
SQLSuccess_ch04.zip9.2 Kb26-Jun-2013
SQLSuccess_ch05.zip13 Kb26-Jun-2013
SQLSuccess_ch06.zip6.6 Kb26-Jun-2013
SQLSuccess_ch07.zip8.3 Kb26-Jun-2013
SQLSuccess_ch08.zip10.1 Kb26-Jun-2013
SQLSuccess_ch09.zip5.7 Kb26-Jun-2013
SQLSuccess_ch10.zip11.2 Kb26-Jun-2013
SQLSuccess_ch11.zip4 Kb20-Jun-2013
SQLSuccess_ch12_C_EMBEDDED_SQL_DB2.zip5.8 Kb20-Jun-2013
SQLSuccess_ch12_C_PostgreSQL.zip5.6 Kb20-Jun-2013
SQLSuccess_ch12_Csharp_SQL_Server.zip58.3 Kb20-Jun-2013
SQLSuccess_ch12_Java_Oracle.zip9.9 Kb24-Jul-2013
SQLSuccess_ch12_ObjectiveC_SQLite.zip93 Kb20-Jun-2013
SQLSuccess_ch12_PHP_MySQL.zip18.2 Kb20-Jun-2013
SQLSuccess_ch12_Python_SQLite.zip4.1 Kb24-Jan-2014
SQLSuccess_ch12_ksh_Oracle.zip2.6 Kb20-Jun-2013

Direct Access

The SQL sandbox allows you to practice your SQL skills in an environment where you have full freedom, with a sample database that is bigger than the downloadable one. You can try the exercises from the book.

In the area where you type commands, you can select a part of a statement to execute only this part as shown in the figure.

Sandbox example

If your query returns HTML-encoded data, unchecking the "Escape HTML" box allows you to directly see how it would appear in a browser.

All SQL features aren't supported in the sandbox:

  • You can't commit or rollback transactions (Chapter 7, Changing Data)
  • You can't create functions, stored procedures or triggers (Chapter 8, Functions, Procedures and Triggers)
  • You can't create indexes on expressions (Chapter 9, Speeding Up Queries)
  • You can't update views (Chapter 10, Views, Privileges and Security)

Yet you can practice and get a very complete knowledge of SQL without having to install a database management system (DBMS) on your own computer.

Click here to access the SQL sandbox.


All fields are mandatory. Your email address won't be shown.

What does the following query return?

Color Codes
S: Serious Technical Mistake, validated S: Serious Technical Mistake, non validated
M: Minor Technical Mistake, validated M: Minor Technical Mistake, non validated
L: Language/formatting, validated L: Language/formatting, non validated
T: Typo, validated T: Typo, non validated
O: Other, validated O: Other, non validated

Print book (single volume)59Paragraph 1 Select statementTShould be country not country_code2013-10-06
Print book (single volume)642nd paragraph, 2nd lineT"or sysdate 2." should have been "or sysdate - 2 day."
This has been corrected at the beginning of Aug 2013.
Print book (single volume)245Paragraph before the funtionMThe book states that the cleanup() function for SQL Server is given in Appendix D. It isn't, but the function is given in the SQL Server code samples associated with Chapter 8.
Corrected at the beginning of Aug 2013.