SQL – Expressions
What is SQL Expression?
An SQL expression is a combination of one or more values, operators and SQL functions that are all evaluated to a value. These SQL EXPRESSION(s) are like formulae and they are written in query language. You can also use them to query the database for a specific set of data.
Expressions are used in WHERE clause of an SQL query. As you might have already known, a WHERE clause specifies a condition that needs to be satisfied for the purpose of filtering records from a database table. This condition is comprised of either single or multiple expressions. These expressions are further classified into three types −
- Boolean Expressions
- Numeric Expressions
- Date and time Expressions
Let us discuss each of these expressions in detail further in this chapter.
Syntax
Consider the basic syntax of the SELECT statement containing some expressions as follows −
SELECT column1, column2, columnN FROM table_name WHERE [CONDITION|EXPRESSION];
SQL Boolean Expressions
SQL Boolean Expressions are SQL expressions that return only Boolean Datatype as a result. These expressions can be of two types −
- Boolean Expressions that check for equality of two values using SQL comparison operators. Here, equality of these values is a condition.
- Boolean Expressions can also contain one value paired with an SQL logical operator. In this case, the logic specified acts like a condition.
They return either TRUE, FALSE or UNKNOWN as the result. If the condition is met, these expressions return TRUE; and FALSE otherwise. UNKNOWN is returned when either of the operands in the expression is a NULL value.
Syntax
Following is the syntax of Boolean Expression −
SELECT column1, column2, columnN FROM table_name WHERE BOOLEAN EXPRESSION;
Example
Consider the CUSTOMERS table having the following records −
ID | NAME | AGE | ADDRESS | SALARY |
---|---|---|---|---|
1 | Ramesh | 32 | Ahmedabad | 2000.00 |
2 | Khilan | 25 | Delhi | 1500.00 |
3 | kaushik | 23 | Kota | 2000.00 |
4 | Chaitali | 25 | Mumbai | 6500.00 |
5 | Hardik | 27 | Bhopal | 8500.00 |
6 | Komal | 22 | Hyderabad | 4500.00 |
7 | Muffy | 24 | Indore | 10000.00 |
The following query is a simple example showing the usage of an SQL Boolean Expression −
SELECT * FROM CUSTOMERS WHERE SALARY = 10000;
Output
The output will be displayed as −
ID | NAME | AGE | ADDRESS | SALARY |
---|---|---|---|---|
7 | Muffy | 24 | Indore | 10000.00 |
SQL Numeric Expressions
SQL Numeric expressions are comprised of two operands and an SQL Arithmetic Operator. These expressions are used to perform any mathematical operation in any query. Hence, the operands must always be numerals and the return value will always be a number as well.
Syntax
Following is the syntax −
SELECT numerical_expression as OPERATION_NAME FROM table_name WHERE NUMERICAL EXPRESSION ;
Here, the numerical_expression is used for a mathematical expression or any formula.
Example
Following is a simple example showing the usage of SQL Numeric Expressions −
SELECT 15 + 6;
Output
The output table is retrieved as −
21
Example
There are several built-in functions like avg(), sum(), count(), etc., to perform what is known as the aggregate data calculations against a table or a specific table column.
SELECT COUNT(*) FROM CUSTOMERS;
Output
The output is displayed as follows −
7
SQL Date Expressions
SQL Date Expressions are used to compare date related values with current system date and time values. For instance, in a manufacturing company, items manufactured per year can be segregated by using date expressions in a WHERE clause. Counting from the first day of an year to the last day, the count of each item will be retrieved; once the required information is gathered, the company can use this information for their own purposes.
Syntax
Following is the syntax −
SELECT column_name(s) FROM table_name WHERE DATE EXPRESSION ;
Example
In this example we are trying to simply retrieve the current timestamp of the system using CURRENT_TIMESTAMP.
SELECT CURRENT_TIMESTAMP;
Output
The output table is displayed as −
Current_Timestamp |
---|
2009-11-12 06:40:23 |
Example
Consider the following Customer Order records in an ORDERS table:
ORDER_ID | CUSTOMER_ID | DATE | ORDER_AMOUNT | ITEM_COUNT |
---|---|---|---|---|
102 | 3 | 2009-10-08 00:00:00 | 3000 | 4 |
100 | 3 | 2009-10-08 00:00:00 | 1500 | 2 |
101 | 2 | 2009-11-20 00:00:00 | 1560 | 7 |
103 | 4 | 2008-05-20 00:00:00 | 2060 | 3 |
Now let”s retrieve the records before 1st June, 2008:
SELECT * FROM ORDERS WHERE DATE < ''2008/06/01
Output
The output table is displayed as −
ORDER_ID | CUSTOMER_ID | DATE | ORDER_AMOUNT | ITEM_COUNT |
---|---|---|---|---|
103 | 4 | 2008-05-20 00:00:00 | 2060 | 3 |