0% found this document useful (0 votes)
11 views

SQL Notes

The document provides a comprehensive overview of SQL keywords, functions, and statements, including their descriptions and usage. It covers various SQL operations such as joins, string functions, numeric functions, date functions, and advanced functions. Additionally, it includes quick reference syntax for common SQL statements, making it a valuable resource for SQL users.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

SQL Notes

The document provides a comprehensive overview of SQL keywords, functions, and statements, including their descriptions and usage. It covers various SQL operations such as joins, string functions, numeric functions, date functions, and advanced functions. Additionally, it includes quick reference syntax for common SQL statements, making it a valuable resource for SQL users.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 25

SQL Joins

SQL Keywords
Keyword Description

ADD Adds a column in an existing table

ADD CONSTRAINT Adds a constraint after a table is already created


ALL Returns true if all of the subquery values meet the condition

ALTER Adds, deletes, or modifies columns in a table, or changes th


a column in a table

ALTER COLUMN Changes the data type of a column in a table

ALTER TABLE Adds, deletes, or modifies columns in a table

AND Only includes rows where both conditions is true

ANY Returns true if any of the subquery values meet the conditio

AS Renames a column or table with an alias

ASC Sorts the result set in ascending order

BACKUP DATABASE Creates a back up of an existing database

BETWEEN Selects values within a given range

CASE Creates different outputs based on conditions


CHECK A constraint that limits the value that can be placed in a col

COLUMN Changes the data type of a column or deletes a column in a

CONSTRAINT Adds or deletes a constraint

CREATE Creates a database, index, view, table, or procedure

CREATE DATABASE Creates a new SQL database

CREATE INDEX Creates an index on a table (allows duplicate values)

CREATE OR REPLACE VIEW Updates a view

CREATE TABLE Creates a new table in the database

CREATE PROCEDURE Creates a stored procedure

CREATE UNIQUE INDEX Creates a unique index on a table (no duplicate values)

CREATE VIEW Creates a view based on the result set of a SELECT stateme
DATABASE Creates or deletes an SQL database

DEFAULT A constraint that provides a default value for a column

DELETE Deletes rows from a table

DESC Sorts the result set in descending order

DISTINCT Selects only distinct (different) values

DROP Deletes a column, constraint, database, index, table, or view

DROP COLUMN Deletes a column in a table

DROP CONSTRAINT Deletes a UNIQUE, PRIMARY KEY, FOREIGN KEY, or CHECK c

DROP DATABASE Deletes an existing SQL database

DROP DEFAULT Deletes a DEFAULT constraint

DROP INDEX Deletes an index in a table


DROP TABLE Deletes an existing table in the database

DROP VIEW Deletes a view

EXEC Executes a stored procedure

EXISTS Tests for the existence of any record in a subquery

FOREIGN KEY A constraint that is a key used to link two tables together

FROM Specifies which table to select or delete data from

FULL OUTER JOIN Returns all rows when there is a match in either left table o

GROUP BY Groups the result set (used with aggregate functions: COUN
SUM, AVG)

HAVING Used instead of WHERE with aggregate functions

IN Allows you to specify multiple values in a WHERE clause

INDEX Creates or deletes an index in a table


INNER JOIN Returns rows that have matching values in both tables

INSERT INTO Inserts new rows in a table

INSERT INTO SELECT Copies data from one table into another table

IS NULL Tests for empty values

IS NOT NULL Tests for non-empty values

JOIN Joins tables

LEFT JOIN Returns all rows from the left table, and the matching rows
table

LIKE Searches for a specified pattern in a column

LIMIT Specifies the number of records to return in the result set

NOT Only includes rows where a condition is not true

NOT NULL A constraint that enforces a column to not accept NULL valu
OR Includes rows where either condition is true

ORDER BY Sorts the result set in ascending or descending order

OUTER JOIN Returns all rows when there is a match in either left table o

PRIMARY KEY A constraint that uniquely identifies each record in a databa

PROCEDURE A stored procedure

RIGHT JOIN Returns all rows from the right table, and the matching row
table

ROWNUM Specifies the number of records to return in the result set

SELECT Selects data from a database

SELECT DISTINCT Selects only distinct (different) values

SELECT INTO Copies data from one table into a new table

SELECT TOP Specifies the number of records to return in the result set
SET Specifies which columns and values that should be updated

TABLE Creates a table, or adds, deletes, or modifies columns in a t


a table or data inside a table

TOP Specifies the number of records to return in the result set

TRUNCATE TABLE Deletes the data inside a table, but not the table itself

UNION Combines the result set of two or more SELECT statements


values)

UNION ALL Combines the result set of two or more SELECT statements
duplicate values)

UNIQUE A constraint that ensures that all values in a column are uni

UPDATE Updates existing rows in a table

VALUES Specifies the values of an INSERT INTO statement

VIEW Creates, updates, or deletes a view

WHERE Filters a result set to include only records that fulfill a specifi
MY SQL String Function:

MySQL String Functions


Function Description

ASCII Returns the ASCII value for the specific character

CHAR_LENGTH Returns the length of a string (in characters)

CHARACTER_LENGTH Returns the length of a string (in characters)

CONCAT Adds two or more expressions together

CONCAT_WS Adds two or more expressions together with a separator

FIELD Returns the index position of a value in a list of values

FIND_IN_SET Returns the position of a string within a list of strings


FORMAT Formats a number to a format like "#,###,###.##", rounded to
number of decimal places

INSERT Inserts a string within a string at the specified position and for a c
of characters

INSTR Returns the position of the first occurrence of a string in another

LCASE Converts a string to lower-case

LEFT Extracts a number of characters from a string (starting from left)

LENGTH Returns the length of a string (in bytes)

LOCATE Returns the position of the first occurrence of a substring in a stri

LOWER Converts a string to lower-case

LPAD Left-pads a string with another string, to a certain length

LTRIM Removes leading spaces from a string

MID Extracts a substring from a string (starting at any position)


POSITION Returns the position of the first occurrence of a substring in a stri

REPEAT Repeats a string as many times as specified

REPLACE Replaces all occurrences of a substring within a string, with a new

REVERSE Reverses a string and returns the result

RIGHT Extracts a number of characters from a string (starting from right

RPAD Right-pads a string with another string, to a certain length

RTRIM Removes trailing spaces from a string

SPACE Returns a string of the specified number of space characters

STRCMP Compares two strings

SUBSTR Extracts a substring from a string (starting at any position)

SUBSTRING Extracts a substring from a string (starting at any position)


SUBSTRING_INDEX Returns a substring of a string before a specified number of delim

TRIM Removes leading and trailing spaces from a string

UCASE Converts a string to upper-case

UPPER Converts a string to upper-case

MySQL Numeric Functions


Function Description

ABS Returns the absolute value of a number

ACOS Returns the arc cosine of a number

ASIN Returns the arc sine of a number

ATAN Returns the arc tangent of one or two numbers

ATAN2 Returns the arc tangent of two numbers


AVG Returns the average value of an expression

CEIL Returns the smallest integer value that is >= to a number

CEILING Returns the smallest integer value that is >= to a number

COS Returns the cosine of a number

COT Returns the cotangent of a number

COUNT Returns the number of records returned by a select query

DEGREES Converts a value in radians to degrees

DIV Used for integer division

EXP Returns e raised to the power of a specified number

FLOOR Returns the largest integer value that is <= to a number

GREATEST Returns the greatest value of the list of arguments


LEAST Returns the smallest value of the list of arguments

LN Returns the natural logarithm of a number

LOG Returns the natural logarithm of a number, or the logarithm of a


specified base

LOG10 Returns the natural logarithm of a number to base 10

LOG2 Returns the natural logarithm of a number to base 2

MAX Returns the maximum value in a set of values

MIN Returns the minimum value in a set of values

MOD Returns the remainder of a number divided by another number

PI Returns the value of PI

POW Returns the value of a number raised to the power of another num

POWER Returns the value of a number raised to the power of another num
RADIANS Converts a degree value into radians

RAND Returns a random number

ROUND Rounds a number to a specified number of decimal places

SIGN Returns the sign of a number

SIN Returns the sine of a number

SQRT Returns the square root of a number

SUM Calculates the sum of a set of values

TAN Returns the tangent of a number

TRUNCATE Truncates a number to the specified number of decimal places

MySQL Date Functions


Function Description
ADDDATE Adds a time/date interval to a date and then returns the date

ADDTIME Adds a time interval to a time/datetime and then returns the time

CURDATE Returns the current date

CURRENT_DATE Returns the current date

CURRENT_TIME Returns the current time

CURRENT_TIMESTAMP Returns the current date and time

CURTIME Returns the current time

DATE Extracts the date part from a datetime expression

DATEDIFF Returns the number of days between two date values

DATE_ADD Adds a time/date interval to a date and then returns the date

DATE_FORMAT Formats a date


DATE_SUB Subtracts a time/date interval from a date and then returns the d

DAY Returns the day of the month for a given date

DAYNAME Returns the weekday name for a given date

DAYOFMONTH Returns the day of the month for a given date

DAYOFWEEK Returns the weekday index for a given date

DAYOFYEAR Returns the day of the year for a given date

EXTRACT Extracts a part from a given date

FROM_DAYS Returns a date from a numeric datevalue

HOUR Returns the hour part for a given date

LAST_DAY Extracts the last day of the month for a given date

LOCALTIME Returns the current date and time


LOCALTIMESTAMP Returns the current date and time

MAKEDATE Creates and returns a date based on a year and a number of day

MAKETIME Creates and returns a time based on an hour, minute, and second

MICROSECOND Returns the microsecond part of a time/datetime

MINUTE Returns the minute part of a time/datetime

MONTH Returns the month part for a given date

MONTHNAME Returns the name of the month for a given date

NOW Returns the current date and time

PERIOD_ADD Adds a specified number of months to a period

PERIOD_DIFF Returns the difference between two periods

QUARTER Returns the quarter of the year for a given date value
SECOND Returns the seconds part of a time/datetime

SEC_TO_TIME Returns a time value based on the specified seconds

STR_TO_DATE Returns a date based on a string and a format

SUBDATE Subtracts a time/date interval from a date and then returns the d

SUBTIME Subtracts a time interval from a datetime and then returns the tim

SYSDATE Returns the current date and time

TIME Extracts the time part from a given time/datetime

TIME_FORMAT Formats a time by a specified format

TIME_TO_SEC Converts a time value into seconds

TIMEDIFF Returns the difference between two time/datetime expressions

TIMESTAMP Returns a datetime value based on a date or datetime value


TO_DAYS Returns the number of days between a date and date "0000-00-0

WEEK Returns the week number for a given date

WEEKDAY Returns the weekday number for a given date

WEEKOFYEAR Returns the week number for a given date

YEAR Returns the year part for a given date

YEARWEEK Returns the year and week number for a given date

MySQL Advanced Functions


Function Description

BIN Returns a binary representation of a number

BINARY Converts a value to a binary string

CASE Goes through conditions and return a value when the first conditi
CAST Converts a value (of any type) into a specified datatype

COALESCE Returns the first non-null value in a list

CONNECTION_ID Returns the unique connection ID for the current connection

CONV Converts a number from one numeric base system to another

CONVERT Converts a value into the specified datatype or character set

CURRENT_USER Returns the user name and host name for the MySQL account tha
used to authenticate the current client

DATABASE Returns the name of the current database

IF Returns a value if a condition is TRUE, or another value if a condi

IFNULL Return a specified value if the expression is NULL, otherwise retu


expression

ISNULL Returns 1 or 0 depending on whether an expression is NULL

LAST_INSERT_ID Returns the AUTO_INCREMENT id of the last row that has been in
table

NULLIF Compares two expressions and returns NULL if they are equal. Ot
first expression is returned

SESSION_USER Returns the current MySQL user name and host name

SYSTEM_USER Returns the current MySQL user name and host name

USER Returns the current MySQL user name and host name

VERSION Returns the current version of the MySQL database

SQL Quick Reference from


W3Schools
SQL StatementSyntaxAND / ORSELECT column_name(s)
FROM table_name
WHERE condition
AND|OR conditionALTER TABLEALTER TABLE table_name
ADD column_name datatype

or

ALTER TABLE table_name


DROP COLUMN column_name

AS (alias)SELECT column_name AS column_alias


FROM table_name
or

SELECT column_name
FROM table_name AS table_alias

BETWEENSELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2CREATE DATABASECREATE DATABASE
database_nameCREATE TABLECREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
...
)CREATE INDEXCREATE INDEX index_name
ON table_name (column_name)

or

CREATE UNIQUE INDEX index_name


ON table_name (column_name)

CREATE VIEWCREATE VIEW view_name AS


SELECT column_name(s)
FROM table_name
WHERE conditionDELETEDELETE FROM table_name
WHERE some_column=some_value

or

DELETE FROM table_name


(Note: Deletes the entire table!!)

DELETE * FROM table_name


(Note: Deletes the entire table!!)

DROP DATABASEDROP DATABASE database_nameDROP INDEXDROP INDEX


table_name.index_name (SQL Server)
DROP INDEX index_name ON table_name (MS Access)
DROP INDEX index_name (DB2/Oracle)
ALTER TABLE table_name
DROP INDEX index_name (MySQL)DROP TABLEDROP TABLE table_nameEXISTSIF
EXISTS (SELECT * FROM table_name WHERE id = ?)
BEGIN
--do what needs to be done if exists
END
ELSE
BEGIN
--do what needs to be done if not
ENDGROUP BYSELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_nameHAVINGSELECT column_name,
aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator valueINSELECT column_name(s)
FROM table_name
WHERE column_name
IN (value1,value2,..)INSERT INTOINSERT INTO table_name
VALUES (value1, value2, value3,....)

or

INSERT INTO table_name


(column1, column2, column3,...)
VALUES (value1, value2, value3,....)

INNER JOINSELECT column_name(s)


FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_nameLEFT JOINSELECT
column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_nameRIGHT JOINSELECT
column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_nameFULL JOINSELECT
column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_nameLIKESELECT column_name(s)
FROM table_name
WHERE column_name LIKE patternORDER BYSELECT column_name(s)
FROM table_name
ORDER BY column_name [ASC|DESC]SELECTSELECT column_name(s)
FROM table_nameSELECT *SELECT *
FROM table_nameSELECT DISTINCTSELECT DISTINCT column_name(s)
FROM table_nameSELECT INTOSELECT *
INTO new_table_name [IN externaldatabase]
FROM old_table_name

or

SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_table_name

SELECT TOPSELECT TOP number|percent column_name(s)


FROM table_nameTRUNCATE TABLETRUNCATE TABLE table_nameUNIONSELECT
column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2UNION ALLSELECT column_name(s) FROM
table_name1
UNION ALL
SELECT column_name(s) FROM table_name2UPDATEUPDATE table_name
SET column1=value, column2=value,...
WHERE some_column=some_valueWHERESELECT column_name(s)
FROM table_name
WHERE column_name operator value

You might also like