Useful SQL Commands

Ryan Scribner
5 min readDec 21, 2020

Many coders would say that SQL is not a computer language. After learning Python, I can see why they would say this. But still to this day, SQL is very useful and used all over the world to work on relational databases. SQL stands for “structured query language”, and this is what it is good at, “querying” databases. A “query” is a request for information. Although SQL can’t do as many things as real computer languages like Python, it is very good at what it was designed to do.

Most people or companies probably wonder why would we need something like this. We have spreadsheets like MS Excel and partially, they would be right. It is good they are trying to put all their data in one place. This would be completely fine if you only had one person who is very diligent about the way they enter the information. But most companies have numerous different people all entering data in different ways. This can cause a lot of problems once you try and go back and use the data. Also, Excel can only handle so much information, and you would probably store it all on one spreadsheet. Imagine trying to find data on a spreadsheet that has 20 years of sales information. Not only would this be nearly impossible for you but the computer would run very slow storing all the information in one place. SQL can help you find information fast and correct it if need be. Also you can break up your information into numerous tables, which keeps the computer happy and increases its performance. These are “relational databases”, a database with many tables that are linked together through a common type of information. For example, let’s say you sell cars. You can have numerous tables set up all sharing a common piece of data like customer ID. So each table has customer ID as its first column. But each table has completely different information other than that first column. Your first table could be customer information, with their contact information, address etc. Your second table could be your invoices and what car these customers bought including color, engine size etc. You could then ask your savvy data guy, about who bought this type of car. They would be able to relate these two tables together through a join and give you a list of all the customers who bought your desired car.

Now that we have a little background on SQL and how and what it can do, I would like to explain some of the most useful commands.

Alter:

ALTER TABLE table_name

ADD column_name datatype;

ALTER TABLE lets you add columns to a table in a database.

And:

SELECT column_name(s)

FROM table_name

WHERE column_1 = value_1

AND column_2 = value_2;

AND is an operator that combines two conditions. Both conditions must be true for the row to be included in the result set.

As:

SELECT column_name AS ‘Alias’

FROM table_name;

AS is a keyword in SQL that allows you to rename a column or table using an alias.

Avg():

SELECT AVG(column_name)

FROM table_name;

AVG() is an aggregate function that returns the average value for a numeric column.

Between:

SELECT column_name(s)

FROM table_name

WHERE column_name BETWEEN value_1 AND value_2;

The BETWEEN operator is used to filter the result set within a certain range. The values can be numbers, text or dates.

Case:

SELECT column_name,

CASE

WHEN condition THEN ‘Result_1’

WHEN condition THEN ‘Result_2’

ELSE ‘Result_3’

END

FROM table_name;

CASE statements are used to create different outputs (usually in the SELECT statement). It is SQL’s way of handling if-then logic.

Count():

SELECT COUNT(column_name)

FROM table_name;

COUNT() is a function that takes the name of a column as an argument and counts the number of rows where the column is not NULL.

Create Table:

CREATE TABLE table_name (

column_1 datatype,

column_2 datatype,

column_3 datatype

);

CREATE TABLE creates a new table in the database. It allows you to specify the name of the table and the name of each column in the table.

Delete:

DELETE FROM table_name

WHERE some_column = some_value;

DELETE statements are used to remove rows from a table.

Group By:

SELECT column_name, COUNT(*)

FROM table_name

GROUP BY column_name;

GROUP BY is a clause in SQL that is only used with aggregate functions. It is used in collaboration with the SELECT statement to arrange identical data into groups.

Having:

SELECT column_name, COUNT(*)

FROM table_name

GROUP BY column_name

HAVING COUNT(*) > value;

HAVING was added to SQL because the WHERE keyword could not be used with aggregate functions.

Inner Join:

SELECT column_name(s)

FROM table_1

JOIN table_2

ON table_1.column_name = table_2.column_name;

An inner join will combine rows from different tables if the join condition is true.

Insert:

INSERT INTO table_name (column_1, column_2, column_3)

VALUES (value_1, ‘value_2’, value_3);

INSERT statements are used to add a new row to a table.

Is Null:

SELECT column_name(s)

FROM table_name

WHERE column_name IS NULL;

IS NULL is an operator used with the WHERE clause to test for empty values.

Like:

SELECT column_name(s)

FROM table_name

WHERE column_name LIKE pattern;

LIKE is a special operator used with the WHERE clause to search for a specific pattern in a column.

Limit:

SELECT column_name(s)

FROM table_name

LIMIT number;

LIMIT is a clause that lets you specify the maximum number of rows the result set will have.

Max():

SELECT MAX(column_name)

FROM table_name;

MAX() is a function that takes the name of a column as an argument and returns the largest value in that column.

Min():

SELECT MIN(column_name)

FROM table_name;

MIN() is a function that takes the name of a column as an argument and returns the smallest value in that column.

Or:

SELECT column_name

FROM table_name

WHERE column_name = value_1

OR column_name = value_2;

OR is an operator that filters the result set to only include rows where either condition is true.

Order By:

SELECT column_name

FROM table_name

ORDER BY column_name ASC | DESC;

ORDER BY is a clause that indicates you want to sort the result set by a particular column either alphabetically or numerically.

Outer Join:

SELECT column_name(s)

FROM table_1

LEFT JOIN table_2

ON table_1.column_name = table_2.column_name;

An outer join will combine rows from different tables even if the join condition is not met. Every row in the left table is returned in the result set, and if the join condition is not met, then NULL values are used to fill in the columns from the right table.

Round():

SELECT ROUND(column_name, integer)

FROM table_name;

ROUND() is a function that takes a column name and an integer as arguments. It rounds the values in the column to the number of decimal places specified by the integer.

Select:

SELECT column_name

FROM table_name;

SELECT statements are used to fetch data from a database. Every query will begin with SELECT.

Select Distinct:

SELECT DISTINCT column_name

FROM table_name;

SELECT DISTINCT specifies that the statement is going to be a query that returns unique values in the specified column(s).

Sum:

SELECT SUM(column_name)

FROM table_name;

SUM() is a function that takes the name of a column as an argument and returns the sum of all the values in that column.

Update:

UPDATE table_name

SET some_column = some_value

WHERE some_column = some_value;

UPDATE statements allow you to edit rows in a table.

Where:

SELECT column_name(s)

FROM table_name

WHERE column_name operator value;

WHERE is a clause that indicates you want to filter the result set to include only rows where the following condition is true.

I hope this list is helpful to anyone who is learning SQL, or those of us who just can’t remember everything. SQL can be a very powerful tool in the right hands. It can be hard to understand at first, but once you get comfortable with it you will understand how useful it really is and why it is still used today since its inception in the 1970’s.

--

--