SQL Flashcards
SQL Commands:
SELECT - extracts data from a database
UPDATE - updates data in a database
DELETE - deletes data from a database
INSERT INTO - inserts new data into a database
CREATE DATABASE - creates a new database
ALTER DATABASE - modifies a database
CREATE TABLE - creates a new table
ALTER TABLE - modifies a table
DROP TABLE - deletes a table
CREATE INDEX - creates an index (search key)
DROP INDEX - deletes an index
---
SELECT DISTINCT - Only returns distinctly different values
COUNT() - Will return a count of whatever is within the brackets
COUNT() AS ///// - This will do the same as a usual however this time addition of AS and what follows will then proceed to name the newly created table.
WHERE - Acts as a criteria setter of sorts, the filter for when you're shopping.
For WHERE - Text requires "" while Numbers DONT
The WHERE clause can contain one or more OR operators.
= - Equal
> - Greater than
< - Less than
>= - Greater than or equal
<= - Less than or equal
<> - Not equal. Note: In some versions of SQL this operator may be written as " != "
BETWEEN - Between a certain range
LIKE - Search for a pattern
IN - To specify multiple possible values for a column
Examples:
<> - WHERE Price <> 18;
BETWEEN - WHERE Price BETWEEN 18 AND 19;
LIKE - WHERE City LIKE 's%';
IN - WHERE City IN ('Paris', 'London');
ORDER BY - Used to sort in ascending / descending (Orders by the select Column and by default it does it in ASCending order)
SELECT * FROM Products
ORDER BY Price DESC; (ASC is done by default)
this works for numbers as well as alphabet so if it detects being a string value then the values will also once again in ASC order being ordered. With DESC once again working as well
it is also possible to ORDER BY 2 columns.
If this is done for example
ORDER BY Country, CustomerName;
The output would firstly consider Country, but if some rows have the same Country, it orders them by CustomerName:
AND - The AND operator is used to filter records based on more than one condition (Used very well along with WHERE)
The AND operator displays a record if all the conditions are TRUE.
The OR operator displays a record if any of the conditions are TRUE.
---
The OR operator displays a record if any of the conditions are TRUE.
The AND operator displays a record if all the conditions are TRUE.
NOT - Use of NOT Comes first before anything starts happening
WHERE NOT CustomerId < 50;
INSERT INTO - Two ways to write for this statement
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
(For specific columns also)
Example:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');
(Acts like variables being taken and carried along)
Example:
INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');
(Dont have to input into every column.) (Only whats specified)
Example:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES
('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway'),
('Greasy Burger', 'Per Olsen', 'Gateveien 15', 'Sandnes', '4306', 'Norway'),
('Tasty Tee', 'Finn Egan', 'Streetroad 19B', 'Liverpool', 'L1 0AA', 'UK');
(Can add more then one at a single time.s)
---
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
(For any and every column in the table)
NULL - Null value simply put is a field with no value (as in being nothing/completely nothing/blank/nada)
A NULL value is different from a zero value or a field that contains spaces. A field with a NULL value is one that has been left blank during record creation!
Comparsion values like BETWEEN, <>, <, > etc. all dont work as they need a value to actually properly compare where with a NULL value none is present requiring use of
IS NULL - WHERE column_name IS NULL; (think of it like a question: Is it NULL)
Always use IS NULL to look for NULL values.
IS NOT NULL - WHERE column_name IS NOT NULL; (again like a question: It is NOT NULL)
UPDATE - The UPDATE statement is used to modify the existing records in a table.
SET
Example:
UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;
It is the WHERE clause that determines how many records will be updated.
Example:
UPDATE Customers
SET ContactName='Juan';
(with no WHERE this will end up updating ALL records)
UPDATE & SET
DELETE - The DELETE statement is used to delete existing records in a table.
Example:
DELETE FROM table_name WHERE condition;
Example:
DELETE FROM table_name;
(Will delete all rows in the table)
HOWEVER something seperate if you wish to actually just delete all the rows INCLUDING THE TABLE:
DROP TABLE table_name;
is how to do it.
Once again the brother to DELETE is FROM
DELETE FROM
Aggregation Functions:
MIN() - returns the smallest value within the selected column
MAX() - returns the largest value within the selected column
COUNT() - returns the number of rows in a set
SUM() - returns the total sum of a numerical column
AVG() - returns the average value of a numerical column
EXAMPLE:
SELECT MIN(Price)
(often used with the GROUP BY clause of the SELECT)
Example:
SELECT MIN(column_name)
FROM table_name
WHERE condition;
Example
SELECT MIN(Price) AS SmallestPrice, CategoryID
FROM Products
GROUP BY CategoryID;
Example for Count:
SELECT COUNT(*) AS [Number of records], CategoryID
FROM Products
GROUP BY CategoryID;
AVERAGE - AVG()
Example:
Example use of Average
In this case using to find the higher than average prices
SELECT * FROM Products
WHERE price > (SELECT AVG(price) FROM Products);
LIKE
----
LIKE - The LIKE operator is used in a WHERE clause to search for a specified pattern in a column.
% - The percent sign % represents zero, one, or multiple characters
- The underscore sign represents one, single character
* - The allstar sign represent EVERYTHING
% - Wildcard is a char that basically stands for all like the allstar(*)
_ - just one singular char that can be anything but only one of them
* - The allstar sign represent EVERYTHING
Example:
WHERE City LIKE 'a%'
% Represents zero or more characters
_ Represents a single character
[] Represents any single character within the brackets *
^ Represents any character not in the brackets *
- Represents any single character within the specified range *
{} Represents any escaped character ** (Oracle)
Examples:
SELECT * FROM Customers
WHERE CustomerName LIKE '%es';
SELECT * FROM Customers
WHERE City LIKE '_ondon';
SELECT * FROM Customers
WHERE CustomerName LIKE '[bsp]%';
SELECT * FROM Customers
WHERE CustomerName LIKE '[a-f]%';
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
SELECT * FROM Customers
WHERE Country LIKE 'Spain';
---
(MICROSOFT ACCESS - WILDCARDS)
Represents zero or more characters bl finds bl, black, blue, and blob
? Represents a single character h?t finds hot, hat, and hit
[] Represents any single character within the brackets h[oa]t finds hot and hat, but not hit
! Represents any character not in the brackets h[!oa]t finds hit, but not hot and hat
- Represents any single character within the specified range c[a-b]t finds cat and cbt
# Represents any single numeric character 2#5 finds 205, 215, 225, 235, 245, 255, 265, 275, 285, and 295
---
[acs] - Considering wildcards it could be any within the brackets for that singular char
this example a , c or s
First letter has to be anythign from a range
This how to do it:
WHERE City LIKE '[a-f]%';
IN - The IN operator allows you to specify multiple values in a WHERE clause.
The IN operator is a shorthand for multiple OR conditions.
Example:
SELECT * FROM Customers
WHERE Country IN ('Germany', 'France', 'UK');
NOT IN - Just like in but Not
Remember the right way around.
Between does indeed use AND
SELECT *
FROM Products
WHERE ProductName
BETWEEN 'Geitost' AND 'Pavlova'
;
AS is used overall for all your alias needs.
---
JOINING
-------
JOIN - A JOIN clause is used to combine rows from two or more tables, based on a related column between them.
Example of an Inner Join:
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
Name. helps refer it to its original table.
// saves confusion is there were two with the same name.
Types of Joins:
(INNER) JOIN: Returns records that have matching values in both tables
LEFT (OUTER) JOIN: Returns all records from the left table, and the matched records from the right table
RIGHT (OUTER) JOIN: Returns all records from the right table, and the matched records from the left table
FULL (OUTER) JOIN: Returns all records when there is a match in either left or right table
INNER JOIN IS ALL
JOINS Combine similar rows between two or more tables.
Inner considers the two more tables being JOINED and if they both have matching values this inner join is used.
Outer Joins
Left - returns records from left and only the matched records from the right
And vise versa for the Right JOIN
The Full join being the last and final one refers to that all records of left and right tables.
---
INNER is all
Left is left records
right is right records
FULL is all records
SELF JOIN - Another join but this time only to itself.
Example:
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
ORDER BY A.City;
---
UNION - The UNION operator is used to combine the result-set of two or more SELECT statements.
Every SELECT statement within UNION must have the same number of columns
The columns must also have similar data types
The columns in every SELECT statement must also be in the same order
Mega example:
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
Result:
City Country
Aachen Germany
Berlin Germany
Berlin Germany
Brandenburg Germany
Cunewalde Germany
Cuxhaven Germany
Frankfurt Germany
Frankfurt a.M. Germany
Köln Germany
Leipzig Germany
Mannheim Germany
München Germany
Münster Germany
Stuttgart Germany
---
ALL TRUE - if all of the subquery values meet the condition
AND TRUE - if all the conditions separated by AND is TRUE
ANY TRUE - if any of the subquery values meet the condition
BETWEEN TRUE - if the operand is within the range of comparisons
EXISTS TRUE - if the subquery returns one or more records
IN TRUE - if the operand is equal to one of a list of expressions
LIKE TRUE - if the operand matches a pattern
NOT - Displays a record if the condition(s) is NOT TRUE
OR TRUE - if any of the conditions separated by OR is TRUE
SOME TRUE - if any of the subquery values meet the condition
---
+= Add equals
-= Subtract equals
*= Multiply equals
/= Divide equals
%= Modulo equals
&= Bitwise AND equals
^-= Bitwise exclusive equals
|*= Bitwise OR equals
---
= Equal to
> Greater than
< Less than
>= Greater than or equal to
<= Less than or equal to
<> Not equal to
---
& Bitwise AND
| Bitwise OR
^ Bitwise exclusive OR
---
+ Add
- Subtract
* Multiply
/ Divide
% Modulo
---
ALTER be exactly how you touch up those tables:
The ALTER TABLE statement is used to add, delete, or modify columns in an existing table.
The ALTER TABLE statement is also used to add and drop various constraints on an existing table.
SQL Commands:
SELECT - extracts data from a database
UPDATE - updates data in a database
DELETE - deletes data from a database
INSERT INTO - inserts new data into a database
CREATE DATABASE - creates a new database
ALTER DATABASE - modifies a database
CREATE TABLE - creates a new table
ALTER TABLE - modifies a table
DROP TABLE - deletes a table
CREATE INDEX - creates an index (search key)
DROP INDEX - deletes an index
---
SELECT DISTINCT - Only returns distinctly different values
COUNT() - Will return a count of whatever is within the brackets
COUNT() AS ///// - This will do the same as a usual however this time addition of AS and what follows will then proceed to name the newly created table.
WHERE - Acts as a criteria setter of sorts, the filter for when you're shopping.
For WHERE - Text requires "" while Numbers DONT
The WHERE clause can contain one or more OR operators.
= - Equal
> - Greater than
< - Less than
>= - Greater than or equal
<= - Less than or equal
<> - Not equal. Note: In some versions of SQL this operator may be written as " != "
BETWEEN - Between a certain range
LIKE - Search for a pattern
IN - To specify multiple possible values for a column
Examples:
<> - WHERE Price <> 18;
BETWEEN - WHERE Price BETWEEN 18 AND 19;
LIKE - WHERE City LIKE 's%';
IN - WHERE City IN ('Paris', 'London');
ORDER BY - Used to sort in ascending / descending (Orders by the select Column and by default it does it in ASCending order)
SELECT * FROM Products
ORDER BY Price DESC; (ASC is done by default)
this works for numbers as well as alphabet so if it detects being a string value then the values will also once again in ASC order being ordered. With DESC once again working as well
it is also possible to ORDER BY 2 columns.
If this is done for example
ORDER BY Country, CustomerName;
The output would firstly consider Country, but if some rows have the same Country, it orders them by CustomerName:
AND - The AND operator is used to filter records based on more than one condition (Used very well along with WHERE)
The AND operator displays a record if all the conditions are TRUE.
The OR operator displays a record if any of the conditions are TRUE.
---
The OR operator displays a record if any of the conditions are TRUE.
The AND operator displays a record if all the conditions are TRUE.
NOT - Use of NOT Comes first before anything starts happening
WHERE NOT CustomerId < 50;
INSERT INTO - Two ways to write for this statement
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
(For specific columns also)
Example:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');
(Acts like variables being taken and carried along)
Example:
INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');
(Dont have to input into every column.) (Only whats specified)
Example:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES
('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway'),
('Greasy Burger', 'Per Olsen', 'Gateveien 15', 'Sandnes', '4306', 'Norway'),
('Tasty Tee', 'Finn Egan', 'Streetroad 19B', 'Liverpool', 'L1 0AA', 'UK');
(Can add more then one at a single time.s)
---
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
(For any and every column in the table)
NULL - Null value simply put is a field with no value (as in being nothing/completely nothing/blank/nada)
A NULL value is different from a zero value or a field that contains spaces. A field with a NULL value is one that has been left blank during record creation!
Comparsion values like BETWEEN, <>, <, > etc. all dont work as they need a value to actually properly compare where with a NULL value none is present requiring use of
IS NULL - WHERE column_name IS NULL; (think of it like a question: Is it NULL)
Always use IS NULL to look for NULL values.
IS NOT NULL - WHERE column_name IS NOT NULL; (again like a question: It is NOT NULL)
UPDATE - The UPDATE statement is used to modify the existing records in a table.
SET
Example:
UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;
It is the WHERE clause that determines how many records will be updated.
Example:
UPDATE Customers
SET ContactName='Juan';
(with no WHERE this will end up updating ALL records)
UPDATE & SET
DELETE - The DELETE statement is used to delete existing records in a table.
Example:
DELETE FROM table_name WHERE condition;
Example:
DELETE FROM table_name;
(Will delete all rows in the table)
HOWEVER something seperate if you wish to actually just delete all the rows INCLUDING THE TABLE:
DROP TABLE table_name;
is how to do it.
Once again the brother to DELETE is FROM
DELETE FROM
Aggregation Functions:
MIN() - returns the smallest value within the selected column
MAX() - returns the largest value within the selected column
COUNT() - returns the number of rows in a set
SUM() - returns the total sum of a numerical column
AVG() - returns the average value of a numerical column
EXAMPLE:
SELECT MIN(Price)
(often used with the GROUP BY clause of the SELECT)
Example:
SELECT MIN(column_name)
FROM table_name
WHERE condition;
Example
SELECT MIN(Price) AS SmallestPrice, CategoryID
FROM Products
GROUP BY CategoryID;
Example for Count:
SELECT COUNT(*) AS [Number of records], CategoryID
FROM Products
GROUP BY CategoryID;
AVERAGE - AVG()
Example:
Example use of Average
In this case using to find the higher than average prices
SELECT * FROM Products
WHERE price > (SELECT AVG(price) FROM Products);
LIKE
----
LIKE - The LIKE operator is used in a WHERE clause to search for a specified pattern in a column.
% - The percent sign % represents zero, one, or multiple characters
- The underscore sign represents one, single character
* - The allstar sign represent EVERYTHING
% - Wildcard is a char that basically stands for all like the allstar(*)
_ - just one singular char that can be anything but only one of them
* - The allstar sign represent EVERYTHING
Example:
WHERE City LIKE 'a%'
% Represents zero or more characters
_ Represents a single character
[] Represents any single character within the brackets *
^ Represents any character not in the brackets *
- Represents any single character within the specified range *
{} Represents any escaped character ** (Oracle)
Examples:
SELECT * FROM Customers
WHERE CustomerName LIKE '%es';
SELECT * FROM Customers
WHERE City LIKE '_ondon';
SELECT * FROM Customers
WHERE CustomerName LIKE '[bsp]%';
SELECT * FROM Customers
WHERE CustomerName LIKE '[a-f]%';
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
SELECT * FROM Customers
WHERE Country LIKE 'Spain';
---
(MICROSOFT ACCESS - WILDCARDS)
Represents zero or more characters bl finds bl, black, blue, and blob
? Represents a single character h?t finds hot, hat, and hit
[] Represents any single character within the brackets h[oa]t finds hot and hat, but not hit
! Represents any character not in the brackets h[!oa]t finds hit, but not hot and hat
- Represents any single character within the specified range c[a-b]t finds cat and cbt
# Represents any single numeric character 2#5 finds 205, 215, 225, 235, 245, 255, 265, 275, 285, and 295
---
[acs] - Considering wildcards it could be any within the brackets for that singular char
this example a , c or s
First letter has to be anythign from a range
This how to do it:
WHERE City LIKE '[a-f]%';
IN - The IN operator allows you to specify multiple values in a WHERE clause.
The IN operator is a shorthand for multiple OR conditions.
Example:
SELECT * FROM Customers
WHERE Country IN ('Germany', 'France', 'UK');
NOT IN - Just like in but Not
Remember the right way around.
Between does indeed use AND
SELECT *
FROM Products
WHERE ProductName
BETWEEN 'Geitost' AND 'Pavlova'
;
AS is used overall for all your alias needs.
---
JOINING
-------
JOIN - A JOIN clause is used to combine rows from two or more tables, based on a related column between them.
Example of an Inner Join:
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
Name. helps refer it to its original table.
// saves confusion is there were two with the same name.
Types of Joins:
(INNER) JOIN: Returns records that have matching values in both tables
LEFT (OUTER) JOIN: Returns all records from the left table, and the matched records from the right table
RIGHT (OUTER) JOIN: Returns all records from the right table, and the matched records from the left table
FULL (OUTER) JOIN: Returns all records when there is a match in either left or right table
INNER JOIN IS ALL
JOINS Combine similar rows between two or more tables.
Inner considers the two more tables being JOINED and if they both have matching values this inner join is used.
Outer Joins
Left - returns records from left and only the matched records from the right
And vise versa for the Right JOIN
The Full join being the last and final one refers to that all records of left and right tables.
---
INNER is all
Left is left records
right is right records
FULL is all records
SELF JOIN - Another join but this time only to itself.
Example:
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
ORDER BY A.City;
---
UNION - The UNION operator is used to combine the result-set of two or more SELECT statements.
Every SELECT statement within UNION must have the same number of columns
The columns must also have similar data types
The columns in every SELECT statement must also be in the same order
Mega example:
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
Result:
City Country
Aachen Germany
Berlin Germany
Berlin Germany
Brandenburg Germany
Cunewalde Germany
Cuxhaven Germany
Frankfurt Germany
Frankfurt a.M. Germany
Köln Germany
Leipzig Germany
Mannheim Germany
München Germany
Münster Germany
Stuttgart Germany
---
ALL TRUE - if all of the subquery values meet the condition
AND TRUE - if all the conditions separated by AND is TRUE
ANY TRUE - if any of the subquery values meet the condition
BETWEEN TRUE - if the operand is within the range of comparisons
EXISTS TRUE - if the subquery returns one or more records
IN TRUE - if the operand is equal to one of a list of expressions
LIKE TRUE - if the operand matches a pattern
NOT - Displays a record if the condition(s) is NOT TRUE
OR TRUE - if any of the conditions separated by OR is TRUE
SOME TRUE - if any of the subquery values meet the condition
---
+= Add equals
-= Subtract equals
*= Multiply equals
/= Divide equals
%= Modulo equals
&= Bitwise AND equals
^-= Bitwise exclusive equals
|*= Bitwise OR equals
---
= Equal to
> Greater than
< Less than
>= Greater than or equal to
<= Less than or equal to
<> Not equal to
---
& Bitwise AND
| Bitwise OR
^ Bitwise exclusive OR
---
+ Add
- Subtract
* Multiply
/ Divide
% Modulo
---
ALTER be exactly how you touch up those tables:
The ALTER TABLE statement is used to add, delete, or modify columns in an existing table.
The ALTER TABLE statement is also used to add and drop various constraints on an existing table.