Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Кога да използвате Common Table Expression (CTE)

Един пример, ако трябва да препратите/присъедините един и същ набор от данни няколко пъти, можете да го направите, като дефинирате CTE. Следователно, това може да бъде форма на повторно използване на код.

Пример за самостоятелно препращане е рекурсията:рекурсивни заявки, използващи CTE

За вълнуващи дефиниции на Microsoft, взети от Books Online:

CTE може да се използва за:

  • Създайте рекурсивна заявка. За повече информация вижте Рекурсивни заявки, използващи общи изрази за таблица.

  • Заместване на изглед, когато не се изисква общото използване на изглед; това означава, че не е нужно да съхранявате определението в метаданни.

  • Активирайте групирането по колона, която е извлечена от скаларен подселекция, или функция, която или не е детерминистична, или има външен достъп.

  • Позовавайте се на получената таблица няколко пъти в едно и също изявление.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да посочите съпоставянето в заявка в SQL Server (T-SQL)

  2. Разбиране на размера на съхранението „datetimeoffset“ в SQL Server

  3. Как да променя програмно стойностите на колоните за идентичност?

  4. SQL OVER() клаузата – кога и защо е полезна?

  5. Как да изчислим възрастта (в години) въз основа на датата на раждане и getDate()