REQUEST COMPLIMENTARY SQLS*PLUS LICENCE
FROM SQL operator
FROM SQL statement is used to enumerate tables and any associations required for SQL statement.
Syntax of FROM statement in SQL
FROM tab1
[ { INNER JOIN
| LEFT [OUTER] JOIN
| RIGHT [OUTER] JOIN
| FULL [OUTER] JOIN } tab2
ON tab1.col1 = tab2.col1 ]
where:
- tab1 and tab2 – These are tables used in an SQL statement. Two tables are combined based on tab1.col1 = tab2.col1.
Note – In FROM SQL operator at least one table must be specified.
If two or more tables are specified in FROM operator, these tables are usually united using INNER or OUTER unions.
FROM operator with one table
We will begin by considering how to use FROM in an SQL query where only one table is specified.
In this example, we have a table with the following data:
suppl_id | suppl_name | city_id | state_id |
---|---|---|---|
100 | Yandex | Moscow | Russian |
200 | Lansing | Michigan | |
300 | Oracle | Redwood City | California |
400 | Bing | Redmond | Washington |
500 | Yahoo | Sunnyvale | Washington |
600 | DuckDuckGo | Paoli | Pennsylvania |
700 | Qwant | Paris | France |
800 | Menlo Park | California | |
900 | Electronic Arts | San Francisco | California |
Enter the following SQL statement:
SELECT *
FROM suppls
WHERE suppl_id < 400
ORDER BY city_id DESC;
Three records will be selected. Here are the results that you should get:
suppl_id | suppl_name | city_id | state_id |
---|---|---|---|
100 | Yandex | Moscow | Russian |
200 | Lansing | Michigan | |
300 | Oracle | Redwood City | California |
In this example, we used the FROM operator to display the table. There are no executed connections in this query since we have listed only one table in FROM.
Two tables in the FROM operator (INNER JOIN)
Let’s see how to use the FROM sentence to INNER JOIN the two tables together.
In this example, we have a product table with the following data:
prod_id | prod_name | cat_id |
---|---|---|
1 | Pear | 50 |
2 | Banana | 50 |
3 | Orange | 50 |
4 | Apple | 50 |
5 | Bread | 75 |
6 | Sliced Ham | 25 |
7 | Kleenex | NULL |
And the cats table with the following data:
cat_id | cat_name |
---|---|
25 | Deli |
50 | Produce |
75 | Bakery |
100 | General Merchandise |
125 | Technology |
Perform the following SQL statement:
SELECT prods.prod_name, cats.cat_name
FROMprods
INNER JOIN cats
ON products.cat_id = cats.cat_id
WHERE prod_name <> 'Pear';
prod_name | cat_name |
---|---|
Banana | Produce |
Orange | Produce |
Apple | Produce |
Bread | Bakery |
Sliced Ham | Deli |
In this example of the FROM operator, the two tables – prods and cats – are combined. In this case, we use FROM to specify INNER JOIN between the product and category tables based on the category_id column in both tables.
Two tables in the FROM operator (OUTER JOIN)
Consider how to use FROM when we connect two tables together using OUTER JOIN. In this case we will look at the LEFT OUTER JOIN.
Let us use the same tables and categories as in the INNER JOIN example above, but this time we will combine the tables using the LEFT OUTER JOIN. Enter the following SQL statement:
SELECT prods.prod_name, cat.cat_name
FROMprods
LEFT OUTER JOIN cats
ON prods.cat_id = cats.cat_id
WHERE prod_name <> 'Pear';
Six records will be selected. Here are the results that you should get:
prod_name | cat_name |
---|---|
Banana | Produce |
Orange | Produce |
Apple | Produce |
Bread | Bakery |
Sliced Ham | Deli |
Kleenex | NULL |
In this FROM example, LEFT OUTER JOIN is used with the cat_id based products and categories tables in both tables.
Now our result set will have the last entry with prod_name ‘Kleenex’ with the value NULL for cat_name. This entry did not appear in our results when we executed INNER JOIN.
SQL Tutorial
MORE NEWS
PreambleNoSql is not a replacement for SQL databases but is a valid alternative for many situations where standard SQL is not the best approach for...
PreambleMongoDB Conditional operators specify a condition to which the value of the document field shall correspond.Comparison Query Operators $eq...
5 Database management trends impacting database administrationIn the realm of database management systems, moreover half (52%) of your competitors feel...
The data type is defined as the type of data that any column or variable can store in MS SQL Server. What is the data type? When you create any table or...
PreambleMS SQL Server is a client-server architecture. MS SQL Server process starts with the client application sending a query.SQL Server accepts,...
First the basics: what is the master/slave?One database server (“master”) responds and can do anything. A lot of other database servers store copies of all...
PreambleAtom Hopper (based on Apache Abdera) for those who may not know is an open-source project sponsored by Rackspace. Today we will figure out how to...
PreambleMongoDB recently introduced its new aggregation structure. This structure provides a simpler solution for calculating aggregated values rather...
FlexibilityOne of the most advertised features of MongoDB is its flexibility. Flexibility, however, is a double-edged sword. More flexibility means more...
PreambleSQLShell is a cross-platform command-line tool for SQL, similar to psql for PostgreSQL or MySQL command-line tool for MySQL.Why use it?If you...
PreambleWriting an application on top of the framework on top of the driver on top of the database is a bit like a game on the phone: you say “insert...
PreambleOracle Coherence is a distributed cache that is functionally comparable with Memcached. In addition to the basic function of the API cache, it...
PreambleIBM pureXML, a proprietary XML database built on a relational mechanism (designed for puns) that offers both relational ( SQL / XML ) and...
What is PostgreSQL array? In PostgreSQL we can define a column as an array of valid data types. The data type can be built-in, custom or enumerated....
PreambleIf you are a Linux sysadmin or developer, there comes a time when you need to manage an Oracle database that can work in your environment.In this...
PreambleStarting with Microsoft SQL Server 2008, by default, the group of local administrators is no longer added to SQL Server administrators during the...