Цитат, който обобщава от тази статия:
- SET е ANSI стандартът за присвояване на променливи, SELECT не е.
- SET може да присвоява само една променлива в даден момент, SELECT може да прави множество присвоявания наведнъж.
- Ако се присвоява от заявка, SET може да присвоява само скаларна стойност. Ако заявката върне множество стойности/редове, тогава SET ще предизвика грешка. SELECT ще присвои една от стойностите на променливата и ще скрие факта, че са върнати множество стойности (така че вероятно никога няма да разберете защо нещо се обърка другаде - забавлявайте се с отстраняването на проблема)
- Когато присвоявате от заявка, ако няма върната стойност, тогава SET ще присвои NULL, където SELECT изобщо няма да извърши присвояването (така че променливата няма да бъде променена от предишната си стойност)
- Що се отнася до разликите в скоростта - няма директни разлики между SET и SELECT. Въпреки това, способността на SELECT да прави множество задания наведнъж му дава леко предимство в скоростта пред SET.