Sunday, May 9, 2021

SQL Server Select Statement

SQL Server select statement Retrieves rows from the database and enables the selection of one or many rows or columns from one or many tables in SQL Server. 

The full syntax of the SELECT statement is complex, but the main clauses can be summarized as:

SELECT select_list 

FROM table_source ] [ WHERE search_condition ]

GROUP BY group_by_expression ]

HAVING search_condition ]

ORDER BY order_expression [ ASC | DESC ] ]

The data returned is stored in a result table, called the result-set.

Select Statement Example:

USE AdventureWorks2017;
GO
SELECT *
FROM Production.Product
ORDER BY Name ASC;

 -- Alternate way.

USE AdventureWorks2017;
GO
SELECT p.*
FROM Production.Product AS p
ORDER BY Name ASC;




Adding Column name in select list

USE AdventureWorks2017;
GO
SELECT Name, ProductNumber, ListPrice AS Price
FROM Production.Product 
ORDER BY Name ASC;


USE AdventureWorks2017;
GO
SELECT Name, ProductNumber, ListPrice AS Price
FROM Production.Product 
WHERE ProductLine = 'R' 
AND DaysToManufacture < 4
ORDER BY Name ASC;


 

Saturday, May 8, 2021

Logical Processing Order of the SELECT statement

The following steps show the logical processing order, or binding order, for a SELECT statement. This order determines when the objects defined in one step are made available to the clauses in subsequent steps.

  1. FROM
  2. ON
  3. JOIN
  4. WHERE
  5. GROUP BY
  6. WITH CUBE or WITH ROLLUP
  7. HAVING
  8. SELECT
  9. DISTINCT
  10. ORDER BY
  11. TOP

For example, if the query processor can bind to (access) the tables or views defined in the FROM clause, these objects and their columns are made available to all subsequent steps. Conversely, because the SELECT clause is step 8, any column aliases or derived columns defined in that clause cannot be referenced by preceding clauses. 

However, they can be referenced by subsequent clauses such as the ORDER BY clause. The actual physical execution of the statement is determined by the query processor and the order may vary from this list.