|=--------------------------------------------------=| _________________ .____ ___________________ / _____/\_____ \ | | \_ _____/\______ \ \_____ \ / / \ \| | | __)_ | | \ / \/ \_/. \ |___ | \ | ` \ /_______ /\_____\ \_/_______ \/_______ //_______ / \/ \__> \/ \/ \/ |=--------------------------------------------------=| . |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. |=--------------------------------------------------=| |=--------------------------------------------------=|