Sql comparison operators: Difference between revisions

From wikinotes
No edit summary
m (Will moved page Sql: comparison operators to Sql comparison operators without leaving a redirect)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
= AND/OR =
<blockquote>
<syntaxhighlight lang="MySQL">
SELECT * FROM users
WHERE name = 'foo' OR name = 'bar'
</syntaxhighlight>
</blockquote><!-- AND/OR -->
= IN =
<blockquote>
<syntaxhighlight lang="MySQL">
SELECT * FROM users WHERE name IN ('john', 'jane', 'iggy');
SELECT * FROM users WHERE name NOT IN ('john', 'jane', 'iggy');
</syntaxhighlight>
</blockquote><!-- IN -->
= BETWEEN =
<blockquote>
<syntaxhighlight lang="MySQL">
SELECT * FROM users WHERE age BETWEEN  30 AND 40;
</syntaxhighlight>
</blockquote><!-- BETWEEN -->
= REGEXP =
= REGEXP =
<blockquote>
<blockquote>
<syntaxhighlight lang="MySQL">
<syntaxhighlight lang="MySQL">
'.             # any single character
'.'            # any single character
'[A-z][0-9]'    # character range
'[A-z][0-9]'    # character range
'[0-9]*a'      # Matches any or no occurrences of [0-9].
'[0-9]*a'      # Matches any or no occurrences of [0-9].
''              #      Can be used for single chars and char ranges
'^a'            # matches lines starting with 'a'
'^a'            # matches lines starting with 'a'
'a$'            # matches lines ending with 'a'
'a$'            # matches lines ending with 'a'

Latest revision as of 18:37, 19 September 2021

AND/OR

SELECT * FROM users
WHERE name = 'foo' OR name = 'bar'

IN

SELECT * FROM users WHERE name IN ('john', 'jane', 'iggy');
SELECT * FROM users WHERE name NOT IN ('john', 'jane', 'iggy');

BETWEEN

SELECT * FROM users WHERE age BETWEEN  30 AND 40;

REGEXP

'.'             # any single character
'[A-z][0-9]'    # character range
'[0-9]*a'       # Matches any or no occurrences of [0-9].
'^a'            # matches lines starting with 'a'
'a$'            # matches lines ending with 'a'
'^aaa$'         # matches 'aaa'. not '*aaa*' (which is default in mySQL)
'aaa'           # matches '.*aaa.*' unless anchored with '^' or '$'

Example.

SELECT * FROM users WHERE name REGEXP '^Andr'

LIKE

glob-style matching (% represents any or no characters).

SELECT * FROM users WHERE name LIKE 'Andr%';