SQL WHERE: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 22: Line 22:
* A string literal
* A string literal
* A built-in function such as <code>CONCAT()</code>
* A built-in function such as <code>CONCAT()</code>
* A subquery  
* A [[SQL_SELECT#Subqueries_(Querying_a_Derived_Table|subquery]]
* A list of expressions such as <code>('A', 'B', 'C')</code>;
* A list of expressions such as <code>('A', 'B', 'C')</code>
 
The operators used within conditions include:
* Comparison operators: <code>=</code>, <code>!=</code>, <code><</code>, <code>></code>, <code><></code>, <code>LIKE</code>, <code>IN</code>, <code>BETWEEN</code>.
* Arithmetic operators: <code>+</code>, <code>-</code>, <code>/</code>, <code>*</code>
==<tt>NULL</tt> in Conditions==
==<tt>NULL</tt> in Conditions==
Also see: {{Internal|SQL#SQL_NULL|<tt>NULL</tt>}}
Also see: {{Internal|SQL#SQL_NULL|<tt>NULL</tt>}}

Revision as of 02:07, 24 May 2024

Internal

TODO

TO PROCESS: https://learning.oreilly.com/library/view/learning-sql-3rd/9781492057604/ch04.html

Overview

The WHERE clause is the mechanism for filtering out unwanted data from the result set. The WHERE clause can be used with SELECT, UPDATE and DELETE, but not with INSERT. The WHERE clause may contain an arbitrary number of filter conditions separated by AND, OR and NOT operators, and optionally grouped together with parentheses.

  FROM <filter_condition> AND|OR <filter_condition> ...

SELECT * FROM person WHERE person.name = 'Alice' AND (person.eye_color = 'blue' OR person.eye_color = 'black');

Filter Conditions

A condition is made up of one or more expressions, combined with one or more operators. An expression can be any of the following:

  • A number
  • A column in a table or a view
  • A string literal
  • A built-in function such as CONCAT()
  • A subquery
  • A list of expressions such as ('A', 'B', 'C')

The operators used within conditions include:

  • Comparison operators: =, !=, <, >, <>, LIKE, IN, BETWEEN.
  • Arithmetic operators: +, -, /, *

NULL in Conditions

Also see:

NULL

Using Parentheses

If the WHERE clause includes three or more conditions combined with AND, OR or NOT, you should use parentheses to make your intent clear.