# `AND` operator - Takes two conditions and returns true (1+) or false (0) based on their evaluation - NOTE: `&&` may also be used as a substitute ```mysql mysql> SELECT 1 = 1 AND 'test' = 'test'; +---------------------------+ | 1 = 1 AND 'test' = 'test' | +---------------------------+ | 1 | +---------------------------+ 1 row in set (0.00 sec) mysql> SELECT 1 = 1 AND 'test' = 'abc'; +--------------------------+ | 1 = 1 AND 'test' = 'abc' | +--------------------------+ | 0 | +--------------------------+ 1 row in set (0.00 sec) ``` # `OR` operator - Takes two conditions and returns true (1+) when at least one is true - NOTE: `||` may also be used as a substitute ```mysql mysql> SELECT 1 = 1 OR 'test' = 'abc'; +-------------------------+ | 1 = 1 OR 'test' = 'abc' | +-------------------------+ | 1 | +-------------------------+ 1 row in set (0.00 sec) mysql> SELECT 1 = 2 OR 'test' = 'abc'; +-------------------------+ | 1 = 2 OR 'test' = 'abc' | +-------------------------+ | 0 | +-------------------------+ 1 row in set (0.00 sec) ``` # `NOT` operator - Toggles a `boolean` value 'i.e. `true` is converted to `false` and vice versa - NOTE: `!` may also be used as a substitute ```mysql mysql> SELECT NOT 1 = 1; +-----------+ | NOT 1 = 1 | +-----------+ | 0 | +-----------+ 1 row in set (0.00 sec) mysql> SELECT NOT 1 = 2; +-----------+ | NOT 1 = 2 | +-----------+ | 1 | +-----------+ 1 row in set (0.00 sec) ``` # Using operators in queries - Example using the `NOT` operator ```mysql mysql> SELECT * FROM logins WHERE username != 'john'; +----+---------------+------------+---------------------+ | id | username | password | date_of_joining | +----+---------------+------------+---------------------+ | 1 | admin | p@ssw0rd | 2020-07-02 00:00:00 | | 2 | administrator | adm1n_p@ss | 2020-07-02 11:30:50 | | 4 | tom | tom123! | 2020-07-02 11:47:16 | +----+---------------+------------+---------------------+ 3 rows in set (0.00 sec) ``` - Example using the `AND` and `NOT` operators ```mysql mysql> SELECT * FROM logins WHERE username != 'john' AND id > 1; +----+---------------+------------+---------------------+ | id | username | password | date_of_joining | +----+---------------+------------+---------------------+ | 2 | administrator | adm1n_p@ss | 2020-07-02 11:30:50 | | 4 | tom | tom123! | 2020-07-02 11:47:16 | +----+---------------+------------+---------------------+ 2 rows in set (0.00 sec) ``` ![[images/Pasted image 20251202204159.png]] # Order of Operations Here is a list of common operations and their precedence, as seen in the [MariaDB Documentation](https://mariadb.com/kb/en/operator-precedence/): - Division (`/`), Multiplication (`*`), and Modulus (`%`) - Addition (`+`) and subtraction (`-`) - Comparison (`=`, `>`, `<`, `<=`, `>=`, `!=`, `LIKE`) - NOT (`!`) - AND (`&&`) - OR (`||`)