The first thing you need to know when learning SQL is how to get data out of a database.  This means learning the SELECT command.  Using this command will get the SQL server to return data to you. You can use this command to do some simple math, or to do the common “Hello World!” application you all learn the first day of a programming course.

SELECT 1 + 1
> 2
SELECT 'Hello World'
>Hello World

Keeping this in mind can become useful later, when you need to have the server return debugging statements to you during particularly long code writing sessions.  Usually you’ll need the SELECT command to look up a certain piece of data from a table.  The following examples are going to work from the AdventureWorks database.  You can install this database on your own instance of SQL, or you can contact me and I’ll give you access to my test server.  This is a new service I’m offering to anyone who wants to learn SQL!

In the AdventureWorks database, there’s a table used to store products created/sold by this company.  It’s called Production.Product.  (for now, let’s ignore the fact the table name has two parts…I’ll explain that later!)  In this table there are several columns, one of which is product’s name.  If you wanted to get a list of the name for every product in this table, you write the following command:

FROM Production.Product


  Cable Light Saber
  External Light Saber Washer 1
  Adjustable Race
  All-Purpose Light Saber Stand

This is just the first 4 items that showed up when I ran the query.  You may see different names appear in your list.  My data has been updated by myself, and other students accessing this database.

I’d like to point out the data returned is not ordered.  In later articles I’ll show you how to put the results into any order you may find useful.  But for now, Let’s stick to learning about the SELECT statement.

What if you wanted to know the name and the price?  In SQL you can list as many columns as you like, in a comma separated list.

   Name, StandardCost
FROM Production.Products


  Name            StandardCost
  -----------     -----
  pencil          .25
  pen             .99
  paper          1.00
  Mountain Dew   1.25

This is the first 4 results I received.

Finally, if you want to return all the data of the table, you can do that too.  But I would like to point out using the following command on a table with lots of rows (thousands, or millions) could be very time and processor consuming.  Use this only if you know the number of records and columns will be small enough your server and connection can handle.  There are also many reasons NOT to use this, most of which have to do with the fact SQL is a shared resource… asking for all the data causes your server to work harder for you, and as a result, there are fewer resources left for other users.

Use the SELECT * queries sparingly!

FROM Production.Products


ProductID  Name                   ProductNumber  MakeFlag    FinishedGoodsFlag  Color  SafetyStockLevel ...
1          Adjustable Jedi Robe   AR-5381        0           0                  NULL   1000    
2          Bearing Crystal        BA-8327        0           0                  NULL   1000    
3          BB Crystal Bearing     BE-2349        1           0                  NULL   800    
4          Sith Crystal Bearings  BE-2908        0           0                  NULL   800    

There are more columns off to the right, but I’ve cleaned up the output to make it easier to read.

As always, if you have any questions, please let me know!  I’m here to help you understand SQL better.  Let me know how I can do that.  Play around with multiple variations

Previous: What is SQL? Next: SELECT, Filtering Results

By Shannon Lowder

Shannon Lowder is the Database Engineer you've been looking for! Look no further for expertise in: Business Analysis to gather the business requirements for the database; Database Architecting to design the logical design of the database; Database Development to actually build the objects needed by the business logic; finally, Database Administration to keep the database running in top form, and making sure there is a disaster recovery plan.


Leave a comment

Your email address will not be published. Required fields are marked *