Kaj je CTE v SQL Serverju s primerom?
Kaj je CTE v SQL Serverju s primerom?

Video: Kaj je CTE v SQL Serverju s primerom?

Video: Kaj je CTE v SQL Serverju s primerom?
Video: ELK: Elasticsearch, logstash, beats (Часть 1) / Java Tech Talk 2024, November
Anonim

A CTE ( Skupni tabelarni izraz ) je začasni niz rezultatov, na katerega se lahko sklicujete v drugem stavku SELECT, INSERT, UPDATE ali DELETE. Predstavljeni so bili v SQL Server različica 2005. Opomba: Vse primeri za to lekcijo temeljijo na Microsoftu SQL Server Management Studio in baza podatkov AdventureWorks2012.

Poleg tega, zakaj uporabljamo CTE v SQL Serverju?

Zakaj bi uporaba a CTE V SQL , bomo uporabili podpoizvedbe za pridružitev zapisom ali filtriranje zapisov iz podpoizvedbe. Kadarkoli mi sklicevati na iste podatke ali se pridružiti istemu nizu zapisov z uporabo podpoizvedba, vzdržljivost kode volja biti težko. A CTE omogoča izboljšano berljivost in lažje vzdrževanje.

Drugič, kako v SQL uporabim dva CTE? Za uporabite več CTE-jev v eni poizvedbi morate le dokončati prvo CTE , dodajte vejico, navedite ime in neobvezne stolpce za naslednje CTE , odprite CTE poizvedbo z vejico, napišite poizvedbo in dostopajte do nje iz a CTE poizvedba pozneje v isti poizvedbi ali iz končne poizvedbe zunaj CTE.

Ob upoštevanju tega, ali lahko uporabimo CTE v pogledu v SQL Serverju?

SQL Server CTE Osnove. ti lahko tudi uporaba a CTE v USTVARJ POGLED izjavo, kot del pogledov SELECT poizvedba. Poleg tega od dne SQL Server 2008, ti lahko dodaj a CTE na novi stavek MERGE. SQL Server podpira dve vrsti CTE-rekurzivnih in nerekurzivnih.

Ali so CTE hitrejši od podpoizvedb?

Izvedba CTE in podpoizvedbe bi moral biti teoretično enak, saj oba zagotavljata enake informacije optimizatorju poizvedb. Ena razlika je v tem, da a CTE uporabljali več kot enkrat zlahka identificirati in enkrat izračunati. V idealnem svetu bi optimizator poizvedb našel popolno izvršilno pot.

Priporočena: