The simplest SELECT is reading from a table, as we don't have to deal with the connection between other tables. Let's have a quick look on the different parts of an average SELECT statement. Therefore, we will use our Customer Table as practical example for demonstration purposes.
Souce: W3Schools | SELECT clause
We can use the SELECT in different ways, e.g
Our first SQL statement is almost complete, for we need to name the source from which we want to retrieve the data. In our case it is the table Customer. Our SELECT including the FROM clause would look like:
SELECT * FROM Customers;
Source: W3Schools | WHERE clause
By adding the WHERE clause to the base SQL statement, we can reduce our output. In other words, we filter our output according to the defined criterias. E.g. if we only want to select data from one particular postal code 05023, we simply add that in our WHERE clause as shown below:
SELECT * FROM Customers WHERE PostalCode ='05023';
Source: W3Schools | ORDER BY clause
In modern web applications, it is common for us to be able to choose how we want to retrieve the data, as the usual sorting criteria are name, date of birth or social security number. We realize this by the adding the keywords ORDER BY to our SQL statement, followed by the keywords ASC or DESC. Our SQL statement hen would look like:
SELECT PostalCode, CustomerName, ContactName FROM Customers ORDER BY PostalCode DESC ;
In this case we call up a list of customers (Customername, ContanctName, PostalCode), which is ordered descending by the zip code. Hence, the resultset looks like:
Source: W3Schools | SQL Operators
It might be necessary to get data only to one specific person or product, or we want to know which products are on stock. For such cases SQL offers, as many programming languages, a variety of Operators which help to optimize our result set. Relevant for our use are the folling operators:
Operator | Description | Example | Result |
---|---|---|---|
+ | Addition | SELECT 30 + 20 + 10; | 60 |
* | Subtracting | SELECT 30 + -10 - 40; | -2 |
* | Multiplication | SELECT 1 * 2 * 3 * 4; | 24 |
/ | Division | SELECT 4 % 3 | 1.33333… |
% | Modulo division, integer rest of a division | SELECT 17 % 5 ; | 2 |
DIV | Integer division, diggits before the coma. | SELECT 17 DIV 5 ; | 3 |
Operator | Description | Example |
---|---|---|
= | Equal to | SELECT * FROM Products WHERE Price = 18; |
> | Greater than | SELECT * FROM Products WHERE Price > 30; |
< | Less than | SELECT * FROM Products WHERE Price < 30; |
>= | Greater than or equal to | SELECT * FROM Products WHERE Price >= 30; |
< = | Less than or equal to | SELECT * FROM Products WHERE Price < = 30; |
<> | Not equal to | SELECT * FROM Products WHERE Price <> 18; |
Operator | Description | Example |
---|---|---|
AND | TRUE if all the conditions separated by AND is TRUE | SELECT * FROM Customers WHERE City = „London“ AND Country = „UK“; |
BETWEEN | TRUE if the operand is within the range of comparisons | SELECT * FROM Products WHERE Price BETWEEN 50 AND 60; |
LIKE | TRUE if the operand matches a pattern | SELECT * FROM Customers WHERE City LIKE 's%'; |
NOT | Displays a record if the condition(s) is NOT TRUE | SELECT * FROM Customers WHERE City NOT LIKE 's%'; |
OR | TRUE if any of the conditions separated by OR is TRUE | SELECT * FROM Customers WHERE City = „London“ OR Country = „UK“; |