The SQL From clause is the source of a rowset to be operated upon in a Data Manipulation Language (DML) statement. From clauses are very common, and will provide the rowset to be exposed through a Select statement, the source of values in an Update statement, and the target rows to be deleted in a Delete statement.
FROM is an SQL reserved word in the SQL standard.
The FROM clause is used in conjunction with SQL statements, and takes the following general form:
SQL-DML-Statement FROM table_name WHERE predicateThe From clause can generally be anything that returns a rowset, a table, view, function, or system-provided information like the Information Schema, which is typically running proprietary commands and returning the information in a table form.
Examples
The following query returns only those rows from table mytable where the value in column mycol is greater than 100.
SELECT * FROM mytable WHERE mycol > 100Requirement
The From clause is technically required in relational algebra and in most scenarios to be useful. However many relational DBMS implementations may not require it for selecting a single value, or single row - known as DUAL table in Oracle database.4
SELECT 3.14 AS PiOther systems will require a From statement with a keyword, even to select system data.5
select to_char(sysdate, 'Dy DD-Mon-YYYY HH24:MI:SS') as "Current Time" from dual;References
"From clause in Transact SQL". https://docs.microsoft.com/de-de/sql/t-sql/queries/from-transact-sql?view=sql-server-2017 ↩
"Reserved Words in SQL". https://www.drupal.org/docs/develop/coding-standards/list-of-sql-reserved-words ↩
"System Information Schema Views (Transact-SQL)". https://docs.microsoft.com/en-us/sql/relational-databases/system-information-schema-views/system-information-schema-views-transact-sql?view=sql-server-2017 ↩
"Selecting from the DUAL Table". https://docs.oracle.com/cd/B19306_01/server.102/b14200/queries009.htm ↩
"Oracle Dates and Times". http://infolab.stanford.edu/~ullman/fcdb/oracle/or-time.html ↩