|=--------------------------------------------------=|
     _________________  .____     ___________________
    /   _____/\_____  \ |    |    \_   _____/\______ \
    \_____  \  /  / \  \|    |     |    __)_  |    |  \
    /        \/   \_/.  \    |___  |        \ |    `   \
   /_______  /\_____\ \_/_______ \/_______  //_______  /
           \/        \__>       \/        \/         \/


   |=--------------------------------------------------=|
   . |03.04 - Querying the data I.                      .
   |=--------------------------------------------------=|

      In  previous  chapters  we  created  a  table.  We
   inserted data into it. This  time we will construct a
   query to retrieve data from it.

     Let's begin with retrieval of all data presented in
   the table:

     select * from users;

     This will give us following result:

       user_key  user_name    user_password
     ----------  -----------  ---------------
              1  user1        pass
              2  user2        pass
              3  user3        pass
              4  user4        pass

     Let's examine the query.

     SELECT is a keyword. Then there is star *. The star
   is issued when we want to select all the columns from
   the table.  Then there  is a FROM  keyword specified.
   And the last word is the table name (users).

     Next  we will  try to  select only  certain columns
   from the user table but still all rows:

     select user_name from users;

   gives us:

       user_name
     -----------
     user1
     user2
     user3
     user4

     The database returns only  1 column (user_name) but
   still all  the rows. What  if we would like  to limit
   the result of the query to  only one row and e.g. two
   columns?

     We would provide following query:

     select user_key, user_name
     from users
     where user_key = 1;

   The result of the query would be following:

        user_key  user_name
     ----------  -----------
              1  user1

     In  the  above  SELECT  query we  added  the  WHERE
   keyword. After this keyword we need to specify filter
   clause  to tell  the  database what  rows  it has  to
   return to us.

     WHERE  is  the  filter  keyword. And  then  in  the
   expression user_key = 1  we specify selection of only
   1  row (because  we have  user_key as  unique primary
   key) and limit the results  to the row where user_key
   equals 1.

     Let's say we would like  to explore the user's list
   and  search  for  the  users  where  theirs  username
   contains certain  string. This  could be  achieved by
   the LIKE clause:

     select user_key, user_name
     from users
     where user_name like '%2';

   The result would be:

       user_key  user_name
     ----------  -----------
              2  user2

     What we have specified here is the LIKE keyword and
   specified  the filter  to  '%2'. That  would read  as
   search  for rows  where  the  user_name contains  any
   string from  the beginning but the  last character is
   2. The  percentage sign  (%) translates here  to "any
   characters".

     In the next chapter we will query some more data.


   |=--------------------------------------------------=|
   |=--------------------------------------------------=|