Мысалмен SQL серверіндегі CTE дегеніміз не?
Мысалмен SQL серверіндегі CTE дегеніміз не?

Бейне: Мысалмен SQL серверіндегі CTE дегеніміз не?

Бейне: Мысалмен SQL серверіндегі CTE дегеніміз не?
Бейне: Собеседование на тестировщика. ТОП 20 вопросов на позицию QA. Собесы 2022. QA Interview 2024, Сәуір
Anonim

А CTE ( Жалпы кесте өрнегі ) басқа SELECT, INSERT, UPDATE немесе DELETE мәлімдемесінде сілтеме жасай алатын уақытша нәтижелер жинағы. Олар енгізілді SQL сервері нұсқасы 2005. Ескерту: Барлығы мысалдар бұл сабақ үшін Microsoft негізінде SQL сервері Management Studio және AdventureWorks2012 дерекқоры.

Сонымен қатар, неліктен біз SQL серверінде CTE пайдаланамыз?

Неге пайдалану а CTE жылы SQL , қолданамыз жазбаларға қосылуға немесе ішкі сұраудан жазбаларды сүзуге арналған ішкі сұраулар. Кез келген уақытта біз бірдей деректерге сілтеме жасаңыз немесе бірдей жазбалар жинағына қосылыңыз қолдану ішкі сұрау, кодты сақтау мүмкіндігі ерік қиын болу. А CTE жақсартылған оқу және техникалық қызмет көрсетуді жеңілдетеді.

Екіншіден, SQL-де екі CTE қалай қолданамын? Кімге бірнеше CTE пайдаланыңыз бір сұрауда біріншісін аяқтау керек CTE , үтірді қосыңыз, келесіге атауды және қосымша бағандарды жариялаңыз CTE , ашыңыз CTE үтірмен сұрау, сұрауды жазыңыз және оған a CTE кейінірек сол сұрауда немесе CTE-ден тыс соңғы сұраудан сұрау.

Осыны ескере отырып, SQL серверінде CTE көрінісін пайдалана аламыз ба?

SQL сервері CTE Негіздер. Сіз алады сондай-ақ пайдалану а CTE CREATE ішінде ҚАРАУ мәлімдемесі аясында көріністер ТАҢДАУ сұрауы. Сонымен қатар, жағдай бойынша SQL сервері 2008, сіз алады қосу а CTE жаңа MERGE мәлімдемесіне. SQL сервері CTE екі түрін қолдайды - рекурсивті және рекурсивті емес.

CTE ішкі сұрауларға қарағанда жылдамырақ па?

орындауы CTE және ішкі сұраулар теорияда бірдей болуы керек, себебі екеуі де сұрауды оңтайландырушыға бірдей ақпаратты береді. Бір айырмашылығы, а CTE көбірек пайдаланды қарағанда бір рет оңай анықтауға және бір рет есептеуге болады. Идеал әлемде сұрауды оңтайландырушы тамаша орындау жолын табады.

Ұсынылған: