SQL (Structured Query Language)
INTRODUCTION
QUERIES
     CHECKING TABLE CONTENTS
        SELECT
     PARTIAL LISTING OF TABLE CONTENTS
       
SELECT ...WHERE
    
RELATIONAL OPERATORS
     LOGICAL OPERATORS
     SPECIAL OPERATORS
          BETWEEN
          IS NULL
          LIKE
             WILDCARDS
             UPPER
          IN
          EXISTS
 

INTRODUCTION (p.104)
QUERIES

CHECKING TABLE CONTENTS (119)

The SELECT command lists the table contents. SELECT can be followed by a set of all attributes to be listed or by the wildcard symbol * if all attributes are to be listed.

SELECT * FROM PRODUCT;

or

SELECT P_DESCRIPT, P_INDATE, P_PRICE, ..., V_CODE
     FROM PRODUCT;


Notes:


PARTIAL LISTING OF TABLE CONTENTS (119-126)

The SELECT command can be used to limit the table contents included in the output:


SELECT <column(s)>
     FROM <table name>
          WHERE <conditions>;


example:
SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE
     FROM PRODUCT
          WHERE V_CODE = 21344;


RELATIONAL OPERATORS can also be used to specify the conditions:

  SYMBOL   

  MEANING

=

Equal

<

Less than

<=

Less than or equal to

>

Greater than

>=

Greater than or equal to

<>

Not equal to


examples:
SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE
     FROM PRODUCT
          WHERE V_CODE <> 21344;

 

SELECT P_DESCRIPT, P_ONHAND, P_MIN, P_PRICE
     FROM PRODUCT
          WHERE P_PRICE <= 10;

 


SELECT P_CODE, P_DESCRIPT, P_ONHAND, P_MIN, P_PRICE
     FROM PRODUCT
          WHERE P_CODE < '1558-QW1';

 


Notes:

=====================

SELECT *
     FROM PRODUCT
          WHERE STOCK_DATE >= #07/01/1999#;

 

SELECT P_DESCRIPT, P_ONHAND, P_MIN, P_PRICE, P_INDATE
     FROM PRODUCT
          WHERE P_INDATE >= #08/15/1999#;

 

Notes:


LOGICAL OPERATORS

SQL allows the use of the logical operators NOT, AND, and OR.
NOT -- negates the condition.
AND -- requires that both parts of the condition be true.
OR -- requires that either part of the condition be true.

SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE
     FROM PRODUCT
          WHERE V_CODE = 21344
               OR V_CODE = 24288;

 


Notes:



SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE
     FROM PRODUCT
          WHERE P_PRICE < 50
               AND P_INDATE > #07/15/1999#;

 


Notes:


SELECT *
     FROM PRODUCT
          WHERE V_CODE NOT 21344;


Notes:


Logical operators can be combined to place complex restrictions on the output.

example:

  1. P_INDATE after July 15, 1999 and P_PRICE less than $50.00.
  2. Or, a V_CODE of 24288.

SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE
     FROM PRODUCT
          WHERE (P_PRICE < 50 AND P_INDATE > #07/15/1999#)
               OR V_CODE = 24288;


SPECIAL OPERATORS

SELECT P_CODE, P_DESCRIPT
     FROM PRODUCT
          WHERE P_MIN IS NULL;

 


SELECT V_NAME, V_CONTACT, V_AREACODE, V_PHONE
     FROM VENDOR
          WHERE V_CONTACT  LIKE 'Smith%';

 


SELECT V_NAME, V_CONTACT, V_AREACODE, V_PHONE
     FROM VENDOR
          WHERE V_CONTACT NOT LIKE 'Smith%';

 

SELECT *
     FROM VENDOR
          WHERE V_CONTACT LIKE 'Johns_n';


SELECT *
     FROM PRODUCT
          WHERE V_CODE IN (21344, 24288);


DELETE FROM PRODUCT
     WHERE P_CODE EXISTS;


Union Queries
Go to Advanced SQL

Portions of the text were derived from Database Systems: Design, Implementation, and Management, Fourth Edition by Peter Rob and Carlos Coronel.