Your cart is currently empty!
Category: sqlite
-
Khóa học miễn phí SQLite – Operators nhận dự án làm có lương
SQLite – Operators
What is an Operator in SQLite?
An operator is a reserved word or a character used primarily in an SQLite statement”s WHERE clause to perform operation(s), such as comparisons and arithmetic operations.
Operators are used to specify conditions in an SQLite statement and to serve as conjunctions for multiple conditions in a statement.
- Arithmetic operators
- Comparison operators
- Logical operators
- Bitwise operators
SQLite Arithmetic Operators
Assume variable a holds 10 and variable b holds 20, then SQLite arithmetic operators will be used as follows −
Operator Description Example + (Addition) Adds values on either side of the operator a + b will give 30 – (Subtraction) Subtracts the right hand operand from the left hand operand a – b will give -10 * (Multiplication) Multiplies values on either side of the operator a * b will give 200 / (Division) Divides the left hand operand by the right hand operand b / a will give 2 % (Modulus) Divides the left hand operand by the right hand operand and returns the remainder b % a will give 0 SQLite Comparison Operators
Assume variable a holds 10 and variable b holds 20, then SQLite comparison operators will be used as follows
Operator Description Example == Checks if the values of two operands are equal or not, if yes then the condition becomes true. (a == b) is not true. = Checks if the values of two operands are equal or not, if yes then the condition becomes true. (a = b) is not true. != Checks if the values of two operands are equal or not, if the values are not equal, then the condition becomes true. (a != b) is true. <> Checks if the values of two operands are equal or not, if the values are not equal, then the condition becomes true. (a <> b) is true. > Checks if the values of the left operand is greater than the value of the right operand, if yes then the condition becomes true. (a > b) is not true. < Checks if the values of the left operand is less than the value of the right operand, if yes then the condition becomes true. (a < b) is true. >= Checks if the value of the left operand is greater than or equal to the value of the right operand, if yes then the condition becomes true. (a >= b) is not true. <= Checks if the value of the left operand is less than or equal to the value of the right operand, if yes then the condition becomes true. (a <= b) is true. !< Checks if the value of the left operand is not less than the value of the right operand, if yes then the condition becomes true. (a !< b) is false. !> Checks if the value of the left operand is not greater than the value of the right operand, if yes then the condition becomes true. (a !> b) is true. SQLite Logical Operators
Here is a list of all the logical operators available in SQLite.
Sr.No. Operator & Description 1 AND
The AND operator allows the existence of multiple conditions in an SQL statement”s WHERE clause.
2 BETWEEN
The BETWEEN operator is used to search for values that are within a set of values, given the minimum value and the maximum value.
3 EXISTS
The EXISTS operator is used to search for the presence of a row in a specified table that meets certain criteria.
4 IN
The IN operator is used to compare a value to a list of literal values that have been specified.
5 NOT IN
The negation of IN operator which is used to compare a value to a list of literal values that have been specified.
6 LIKE
The LIKE operator is used to compare a value to similar values using wildcard operators.
7 GLOB
The GLOB operator is used to compare a value to similar values using wildcard operators. Also, GLOB is case sensitive, unlike LIKE.
8 NOT
The NOT operator reverses the meaning of the logical operator with which it is used. Eg. NOT EXISTS, NOT BETWEEN, NOT IN, etc. This is negate operator.
9 OR
The OR operator is used to combine multiple conditions in an SQL statement”s WHERE clause.
10 IS NULL
The NULL operator is used to compare a value with a NULL value.
11 IS
The IS operator work like =
12 IS NOT
The IS operator work like !=
13 ||
Adds two different strings and make new one.
14 UNIQUE
The UNIQUE operator searches every row of a specified table for uniqueness (no duplicates).
SQLite Bitwise Operators
Bitwise operator works on bits and performs bit-by-bit operation. Following is the truth table for & and |.
p q p & q p | q 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 Assume if A = 60; and B = 13, then in binary format, they will be as follows −
A = 0011 1100
B = 0000 1101
—————–
A&B = 0000 1100
A|B = 0011 1101
~A = 1100 0011
The Bitwise operators supported by SQLite language are listed in the following table. Assume variable A holds 60 and variable B holds 13, then −
Operator Description Example & Binary AND Operator copies a bit to the result, if it exists in both operands. (A & B) will give 12 which is 0000 1100 | Binary OR Operator copies a bit, if it exists in either operand. (A | B) will give 61 which is 0011 1101 ~ Binary Ones Complement Operator is unary and has the effect of ”flipping” bits. (~A ) will give -61 which is 1100 0011 in 2”s complement form due to a signed binary number << Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand. A << 2 will give 240 which is 1111 0000 >> Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand. A >> 2 will give 15 which is 0000 1111
Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc
Khóa học miễn phí SQLite – WHERE Clause nhận dự án làm có lương
SQLite – WHERE Clause
SQLite WHERE clause is used to specify a condition while fetching the data from one table or multiple tables.
If the given condition is satisfied, means true, then it returns the specific value from the table. You will have to use WHERE clause to filter the records and fetching only necessary records.
The WHERE clause not only is used in SELECT statement, but it is also used in UPDATE, DELETE statement, etc., which will be covered in subsequent chapters.
Syntax
Following is the basic syntax of SQLite SELECT statement with WHERE clause.
SELECT column1, column2, columnN FROM table_name WHERE [condition]
Example
You can specify a condition using such as >, <, =, LIKE, NOT, etc. Consider COMPANY table with the following records −
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Following is a simple examples showing the usage of SQLite Logical Operators. Following SELECT statement lists down all the records where AGE is greater than or equal to 25 AND salary is greater than or equal to 65000.00.
sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0
Following SELECT statement lists down all the records where AGE is greater than or equal to 25 OR salary is greater than or equal to 65000.00.
sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0
Following SELECT statement lists down all the records where AGE is not NULL, which means all the records because none of the record has AGE equal to NULL.
sqlite> SELECT * FROM COMPANY WHERE AGE IS NOT NULL; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Following SELECT statement lists down all the records where NAME starts with ”Ki”, does not matter what comes after ”Ki”.
sqlite> SELECT * FROM COMPANY WHERE NAME LIKE ''Ki% ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 6 Kim 22 South-Hall 45000.0
Following SELECT statement lists down all the records where NAME starts with ”Ki”, does not matter what comes after ”Ki”.
sqlite> SELECT * FROM COMPANY WHERE NAME GLOB ''Ki* ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 6 Kim 22 South-Hall 45000.0
Following SELECT statement lists down all the records where AGE value is either 25 or 27.
sqlite> SELECT * FROM COMPANY WHERE AGE IN ( 25, 27 ); ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0
Following SELECT statement lists down all the records where AGE value is neither 25 nor 27.
sqlite> SELECT * FROM COMPANY WHERE AGE NOT IN ( 25, 27 ); ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 3 Teddy 23 Norway 20000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Following SELECT statement lists down all the records where AGE value is in BETWEEN 25 AND 27.
sqlite> SELECT * FROM COMPANY WHERE AGE BETWEEN 25 AND 27; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0
Following SELECT statement makes use of SQL sub-query, where sub-query finds all the records with AGE field having SALARY > 65000 and later WHERE clause is being used along with EXISTS operator to list down all the records where AGE from the outside query exists in the result returned by the sub-query −
sqlite> SELECT AGE FROM COMPANY WHERE EXISTS (SELECT AGE FROM COMPANY WHERE SALARY > 65000); AGE ---------- 32 25 23 25 27 22 24
Following SELECT statement makes use of SQL sub-query where sub-query finds all the records with AGE field having SALARY > 65000 and later WHERE clause is being used along with > operator to list down all the records where AGE from the outside query is greater than the age in the result returned by the sub-query.
sqlite> SELECT * FROM COMPANY WHERE AGE > (SELECT AGE FROM COMPANY WHERE SALARY > 65000); ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0
Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc