Learn T-SQL Querying
上QQ阅读APP看书,第一时间看更新

FROM

The FROM clause specifies the tables or views used in the SELECT, DELETE, and UPDATE statements. It is required unless a SELECT list contains only constants, variables or arithmetic expressions, or an UPDATE clause does not contain references to other tables other than the target (for example, a join is not needed).

It can be a single table, a derived table (a table created from a nested sub-query), a Table-Valued Function (TVF), or it can be several tables and/or views joined together.

If the desired result set contains data from more than one table or view, joins can be used to link rows from one table to another. There are essentially the following three types of logical joins that are expressed when writing a query:

  • Inner joins
  • Outer joins (left, right, and full)
  • Cross joins

In specific scenarios, SQL Server may infer the intended type of logical join operation. However, it is best to always explicitly state the type of required logical join operation the reader intends to implement.

When specifying multiple tables and/or views in the FROM clause, it is helpful to create aliases for these objects, which can be used within the query, such as in the SELECT clause. This is particularly useful when different objects have columns with the same names. In this case, we must disambiguate the columns throughout the query, and an alias allows us to do this without having to specify the entire object name. So, as is the case for column aliases, a table, view, or function alias is created with the  AS keyword.