Here’s a reference list of normally utilized SQL commands:

SQL Statement Syntax Description
ALTER TABLE ALTER TABLE table_name
ADD column_name datatypeorALTER TABLE table_name
DROP COLUMN column_name
You can add a column to a table in the database.
AND / OR SELECT column_name(s)
FROM table_name
WHERE condition
AND|OR condition
These operators combine two conditions and used to filter records.
AS (alias) SELECT column_name AS column_alias
FROM table_nameorSELECT column_name
FROM table_name  AS table_alias
SQL aliases are used to give a temporary name to a table or a column in the table.
BETWEEN SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
Used for select values within a certain range.
CREATE DATABASE CREATE DATABASE database_name Used to create a new SQL database
CREATE TABLE CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,

)
Used to create a new table in the database. You can specify the name of the table and the name of each column.
CREATE INDEX CREATE INDEX index_name
ON table_name (column_name)orCREATE UNIQUE INDEX index_name
ON table_name (column_name) 
This statement used to create indexes in tables. AN index used to retrieve data very fast from Db.
CREATE VIEW CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition;
The view is a virtual table, which contains columns and rows just like a real table.
DELETE DELETE FROM table_name
WHERE some_column=some_valueorDELETE FROM table_name
Note: Deletes the entire table.DELETE * FROM table_name
Note: Deletes the entire table.
Used to delete existing records form a table.
DROP DATABASE DROP DATABASE database_name; Used to drop an existing SQL database.
DROP INDEX DROP 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)
Used to delete an index from a table.
DROP TABLE DROP TABLE table_name Used to drop an existing table in a database.
EXISTS IF 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
END
This operator used to test for the existence of any record in a subquery.
GROUP BY SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
Used with aggregate functions (COUNT, MAX, MIN, SUM, AVG) to group the result-set by one or more columns.
HAVING SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
This clause was added to SQL because the WHERE keyword could not be used with aggregate functions.
IN SELECT column_name(s)
FROM table_name
WHERE column_name
IN (value1,value2,..)
This operator allows specifying multiple values in WHERE clause. It is also a shorthand for multiple OR condition.
INSERT INTO INSERT INTO table_name
VALUES (value1, value2, value3,….)orINSERT INTO table_name
(column1, column2, column3,…)
VALUES (value1, value2, value3,….) 
Used to insert new records in a table.
INNER JOIN SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
Used to selects records that have matching values in both tables.
LEFT JOIN SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
Use to returns all records from the left table
RIGHT JOIN SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
Use to returns all records from the right table.
FULL JOIN SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name
Used to return all records when there is a match in either left or right table records.
LIKE SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
Used to search for a specified pattern in a column in a WHERE clause.
ORDER BY SELECT column_name(s)
FROM table_name
ORDER BY column_name [ASC|DESC]
Used to sort the result in ascending or descending order.
SELECT SELECT column_name(s)
FROM table_name
Used to select data from a database.
SELECT * SELECT *
FROM table_name
To select all the fields available in the table.
SELECT DISTINCT SELECT DISTINCT column_name(s)
FROM table_name
To return only different values.
SELECT INTO SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_table_nameorSELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_table_name 
Used to copies data from one table into a new table.
SELECT TOP SELECT TOP number|percent column_name(s)
FROM table_name
To specify the number of records to return.
TRUNCATE TABLE TRUNCATE TABLE table_name Used to empty a table completely. It’s required the DROP privilege.
UNION SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
Used to combine the result-set of two or more SELECT statements.
UNION ALL SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
To allow duplicate values, to combine the result-set of two or more SELECT statements.
UPDATE UPDATE table_name
SET column1=value, column2=value,…
WHERE some_column=some_value
Used to modify the existing records in a table.
WHERE SELECT column_name(s)
FROM table_name
WHERE column_name operator value
This clause is used to filter records also extract only those records that fulfil a specified condition.