{"id":255533,"date":"2015-04-19T18:32:02","date_gmt":"2015-04-19T14:32:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=255533"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=255533","title":{"rendered":"\u0423\u0447\u0435\u0431\u043d\u0438\u043a \u043f\u043e \u044f\u0437\u044b\u043a\u0443 SQL (DDL, DML) \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0434\u0438\u0430\u043b\u0435\u043a\u0442\u0430 MS SQL Server. \u0427\u0430\u0441\u0442\u044c \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0430\u044f"},"content":{"rendered":"<br \/>\n<h2>\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0447\u0430\u0441\u0442\u0438<\/h2>\n<p>  <\/p>\n<ul>\n<li>\u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f \u2014 <a href=\"http:\/\/habrahabr.ru\/post\/255361\/\">habrahabr.ru\/post\/255361<\/a><\/li>\n<li>\u0427\u0430\u0441\u0442\u044c \u0432\u0442\u043e\u0440\u0430\u044f \u2014 <a href=\"http:\/\/habrahabr.ru\/post\/255523\/\">habrahabr.ru\/post\/255523<\/a><\/li>\n<li>\u0427\u0430\u0441\u0442\u044c \u0442\u0440\u0435\u0442\u044c\u044f \u2014 <a href=\"http:\/\/habrahabr.ru\/post\/255825\/\">habrahabr.ru\/post\/255825<\/a><\/li>\n<\/ul>\n<h2>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c<\/h2>\n<p>  \u041c\u043d\u043e\u0433\u043e\u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b:  <\/p>\n<ul>\n<li>\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446 \u2013 JOIN<\/li>\n<li>\u0421\u0432\u044f\u0437\u044c \u0442\u0430\u0431\u043b\u0438\u0446 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 WHERE-\u0443\u0441\u043b\u043e\u0432\u0438\u044f<\/li>\n<li>\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u2013 UNION<\/li>\n<\/ul>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438:  <\/p>\n<ul>\n<li>\u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u0431\u043b\u043e\u043a\u0430\u0445 FROM, SELECT<\/li>\n<li>\u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 APPLY<\/li>\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f WITH<\/li>\n<li>\u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u0431\u043b\u043e\u043a\u0435 WHERE:<br \/> \n<ul>\n<li>\u0413\u0440\u0443\u043f\u043f\u043e\u0432\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u2014 ALL, ANY<\/li>\n<li>\u0423\u0441\u043b\u043e\u0432\u0438\u0435 EXISTS<\/li>\n<li>\u0423\u0441\u043b\u043e\u0432\u0438\u0435 IN<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>  <a name=\"habracut\"><\/a>  <\/p>\n<h2>\u0414\u043e\u0431\u0430\u0432\u0438\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n<p>  \u0414\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u0434\u0435\u043b\u043e\u0432 \u0438 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u0435\u0439:<\/p>\n<pre><code class=\"sql\">SET IDENTITY_INSERT Departments ON INSERT Departments(ID,Name) VALUES(4,N'\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430') INSERT Departments(ID,Name) VALUES(5,N'\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430') SET IDENTITY_INSERT Departments OFF <\/code><\/pre>\n<pre><code class=\"sql\">SET IDENTITY_INSERT Positions ON INSERT Positions(ID,Name) VALUES(5,N'\u041c\u0430\u0440\u043a\u0435\u0442\u043e\u043b\u043e\u0433') INSERT Positions(ID,Name) VALUES(6,N'\u041b\u043e\u0433\u0438\u0441\u0442') INSERT Positions(ID,Name) VALUES(7,N'\u041a\u043b\u0430\u0434\u043e\u0432\u0449\u0438\u043a') SET IDENTITY_INSERT Positions OFF <\/code><\/pre>\n<h2>JOIN-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u2013 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043d\u0430\u043c \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0437\u043d\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0411\u0414, \u0442.\u0435. \u043a\u0430\u043a\u0438\u0435 \u0432 \u043d\u0435\u0439 \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u044d\u0442\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u0438 \u043f\u043e \u043a\u0430\u043a\u0438\u043c \u043f\u043e\u043b\u044f\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439. \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043e\u0441\u043a\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0438\u0437\u0443\u0447\u0430\u0439\u0442\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0411\u0414, \u0442.\u043a. \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0442\u044b \u0437\u043d\u0430\u0435\u0448\u044c, \u0447\u0442\u043e \u043e\u0442\u043a\u0443\u0434\u0430 \u0431\u0435\u0440\u0435\u0442\u0441\u044f. \u0423 \u043d\u0430\u0441 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 3-\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 Employees, Departments \u0438 Positions. \u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u0437\u0434\u0435\u0441\u044c \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0443 \u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/afd\/75a\/67d\/afd75a67da9347dab86bf5051b3d4975.png\"\/><\/p>\n<p>  <b>\u0415\u0441\u043b\u0438 \u0441\u0443\u0442\u044c \u0420\u0414\u0411 \u2013 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0439 \u0438 \u0432\u043b\u0430\u0441\u0442\u0432\u0443\u0439, \u0442\u043e \u0441\u0443\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0441\u043d\u043e\u0432\u0430 \u0441\u043a\u043b\u0435\u0438\u0442\u044c \u0440\u0430\u0437\u0431\u0438\u0442\u044b\u0435 \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0435, \u0442.\u0435. \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0438\u0445 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u0438\u0434.<\/b><\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e, \u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0437 \u043d\u0438\u0445 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u0435\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043e\u0442\u0447\u0435\u0442\u043e\u043c \u0434\u043b\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Employees, \u043d\u0430\u043c \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0430\u043b\u043e \u043f\u043e\u043b\u044f \u00ab\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u0434\u0435\u043b\u0430\u00bb, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 Departments.<\/p>\n<p>  \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0442\u0435\u043e\u0440\u0438\u0438. \u0415\u0441\u0442\u044c \u043f\u044f\u0442\u044c \u0442\u0438\u043f\u043e\u0432 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f:  <\/p>\n<ol>\n<li><b>JOIN<\/b> \u2013 \u043b\u0435\u0432\u0430\u044f_\u0442\u0430\u0431\u043b\u0438\u0446\u0430 JOIN \u043f\u0440\u0430\u0432\u0430\u044f_\u0442\u0430\u0431\u043b\u0438\u0446\u0430 ON \u0443\u0441\u043b\u043e\u0432\u0438\u044f_\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<\/li>\n<li><b>LEFT JOIN<\/b> \u2013 \u043b\u0435\u0432\u0430\u044f_\u0442\u0430\u0431\u043b\u0438\u0446\u0430 LEFT JOIN \u043f\u0440\u0430\u0432\u0430\u044f_\u0442\u0430\u0431\u043b\u0438\u0446\u0430 ON \u0443\u0441\u043b\u043e\u0432\u0438\u044f_\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<\/li>\n<li><b>RIGHT JOIN<\/b> \u2013 \u043b\u0435\u0432\u0430\u044f_\u0442\u0430\u0431\u043b\u0438\u0446\u0430 RIGHT JOIN \u043f\u0440\u0430\u0432\u0430\u044f_\u0442\u0430\u0431\u043b\u0438\u0446\u0430 ON \u0443\u0441\u043b\u043e\u0432\u0438\u044f_\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<\/li>\n<li><b>FULL JOIN<\/b> \u2013 \u043b\u0435\u0432\u0430\u044f_\u0442\u0430\u0431\u043b\u0438\u0446\u0430 FULL JOIN \u043f\u0440\u0430\u0432\u0430\u044f_\u0442\u0430\u0431\u043b\u0438\u0446\u0430 ON \u0443\u0441\u043b\u043e\u0432\u0438\u044f_\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<\/li>\n<li><b>CROSS JOIN<\/b> \u2013 \u043b\u0435\u0432\u0430\u044f_\u0442\u0430\u0431\u043b\u0438\u0446\u0430 CROSS JOIN \u043f\u0440\u0430\u0432\u0430\u044f_\u0442\u0430\u0431\u043b\u0438\u0446\u0430<\/li>\n<\/ol>\n<p>  <\/p>\n<table>\n<tr>\n<th width=\"150\">\u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441<\/th>\n<th width=\"150\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441<\/th>\n<th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 (\u042d\u0442\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u0441\u0435\u043c \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043d\u044f\u0442\u043d\u043e. \u0422\u0430\u043a \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0441\u044e\u0434\u0430 \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432.)<\/th>\n<\/tr>\n<tr>\n<td>JOIN<\/td>\n<td>INNER JOIN<\/td>\n<td>\u0418\u0437 \u0441\u0442\u0440\u043e\u043a \u043b\u0435\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u043f\u0440\u0430\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0442\u0441\u044f \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u044f_\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f.<\/td>\n<\/tr>\n<tr>\n<td>LEFT JOIN<\/td>\n<td>LEFT OUTER JOIN<\/td>\n<td>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043b\u0435\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b (\u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e LEFT). \u0414\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043b\u0435\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u044f_\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0440\u043e\u043a \u043f\u0440\u0430\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f NULL-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/td>\n<\/tr>\n<tr>\n<td>RIGHT JOIN<\/td>\n<td>RIGHT OUTER JOIN<\/td>\n<td>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0440\u0430\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b (\u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e RIGHT). \u0414\u0430\u043d\u043d\u044b\u043c\u0438 \u043b\u0435\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0440\u0430\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u044f_\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0440\u043e\u043a \u043b\u0435\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f NULL-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/td>\n<\/tr>\n<tr>\n<td>FULL JOIN<\/td>\n<td>FULL OUTER JOIN<\/td>\n<td>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043b\u0435\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u043f\u0440\u0430\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u0415\u0441\u043b\u0438 \u0434\u043b\u044f \u0441\u0442\u0440\u043e\u043a \u043b\u0435\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u043f\u0440\u0430\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u044f_\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0442\u043e \u043e\u043d\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443. \u0414\u043b\u044f \u0441\u0442\u0440\u043e\u043a, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u044f_\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, NULL-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u043b\u0435\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043b\u0438\u0431\u043e \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u043f\u0440\u0430\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u0430\u043a\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f.<\/td>\n<\/tr>\n<tr>\n<td>CROSS JOIN<\/td>\n<td>&#8212;<\/td>\n<td>\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043b\u0435\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u043f\u0440\u0430\u0432\u043e\u0439_\u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u042d\u0442\u043e\u0442 \u0432\u0438\u0434 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0434\u0435\u043a\u0430\u0440\u0442\u043e\u0432\u044b\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c.<\/td>\n<\/tr>\n<\/table>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435\u043c \u0441\u043b\u043e\u0432 INNER \u0438\u043b\u0438 OUTER.<\/p>\n<p>  \u041b\u0438\u0447\u043d\u043e \u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0440\u0430\u0442\u043a\u0438\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441, \u043f\u043e \u0442\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435:  <\/p>\n<ol>\n<li>\u042d\u0442\u043e \u043a\u043e\u0440\u043e\u0447\u0435 \u0438 \u043d\u0435 \u0437\u0430\u0441\u043e\u0440\u044f\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u043b\u0438\u0448\u043d\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438;<\/li>\n<li>\u041f\u043e \u0441\u043b\u043e\u0432\u0430\u043c LEFT, RIGHT, FULL \u0438 CROSS \u0438 \u0442\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043e \u043a\u0430\u043a\u043e\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438 \u0438\u0434\u0435\u0442 \u0440\u0435\u0447\u044c, \u0442\u0430\u043a \u0436\u0435 \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0441\u0442\u043e JOIN;<\/li>\n<li>\u0421\u0447\u0438\u0442\u0430\u044e \u0441\u043b\u043e\u0432\u0430 INNER \u0438 OUTER \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u043c\u0438 \u0440\u0443\u0434\u0438\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0443\u0442\u0430\u044e\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445.<\/li>\n<\/ol>\n<p>  \u041d\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u044d\u0442\u043e \u043c\u043e\u0435 \u043b\u0438\u0447\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0435\u043d\u0438\u0435, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043c\u0443-\u0442\u043e \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u043e, \u0438 \u043e\u043d \u0432\u0438\u0434\u0438\u0442 \u0432 \u044d\u0442\u043e\u043c \u0441\u0432\u043e\u0438 \u043f\u0440\u0435\u043b\u0435\u0441\u0442\u0438.<\/p>\n<p>  \u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u0438\u0434\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e, \u0442.\u043a. \u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e \u0438\u043b\u0438 \u0438\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0430, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f. \u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u0440\u0430\u0437\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u0438 \u0438\u0434\u0438\u0442\u0435 \u0434\u0430\u043b\u044c\u0448\u0435 (\u043c\u044b \u0441\u044e\u0434\u0430 \u0435\u0449\u0435 \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f):<\/p>\n<pre><code class=\"sql\">-- JOIN \u0432\u0435\u0440\u043d\u0435\u0442 5 \u0441\u0442\u0440\u043e\u043a SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp JOIN Departments dep ON emp.DepartmentID=dep.ID <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>DepartmentID<\/th>\n<th>ID<\/th>\n<th>Name<\/th>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1001<\/td>\n<td>\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<td>2<\/td>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<\/table>\n<p>  <\/p>\n<pre><code class=\"sql\">-- LEFT JOIN \u0432\u0435\u0440\u043d\u0435\u0442 6 \u0441\u0442\u0440\u043e\u043a SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp LEFT JOIN Departments dep ON emp.DepartmentID=dep.ID <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>DepartmentID<\/th>\n<th>ID<\/th>\n<th>Name<\/th>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1001<\/td>\n<td>\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<td>2<\/td>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1005<\/td>\n<td>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u043e\u0432 \u0410.\u0410.<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<\/table>\n<p>  <\/p>\n<pre><code class=\"sql\">-- RIGHT JOIN \u0432\u0435\u0440\u043d\u0435\u0442 7 \u0441\u0442\u0440\u043e\u043a SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp RIGHT JOIN Departments dep ON emp.DepartmentID=dep.ID <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>DepartmentID<\/th>\n<th>ID<\/th>\n<th>Name<\/th>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<td>2<\/td>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1001<\/td>\n<td>\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>4<\/td>\n<td>\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/td>\n<\/tr>\n<tr>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>5<\/td>\n<td>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430<\/td>\n<\/tr>\n<\/table>\n<p>  <\/p>\n<pre><code class=\"sql\">-- FULL JOIN \u0432\u0435\u0440\u043d\u0435\u0442 8 \u0441\u0442\u0440\u043e\u043a SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp FULL JOIN Departments dep ON emp.DepartmentID=dep.ID <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>DepartmentID<\/th>\n<th>ID<\/th>\n<th>Name<\/th>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1001<\/td>\n<td>\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<td>2<\/td>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1005<\/td>\n<td>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u043e\u0432 \u0410.\u0410.<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<tr>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>4<\/td>\n<td>\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/td>\n<\/tr>\n<tr>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>5<\/td>\n<td>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430<\/td>\n<\/tr>\n<\/table>\n<p>  <\/p>\n<pre><code class=\"sql\">-- CROSS JOIN \u0432\u0435\u0440\u043d\u0435\u0442 30 \u0441\u0442\u0440\u043e\u043a - (6 \u0441\u0442\u0440\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b Employees) * (5 \u0441\u0442\u0440\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b Departments) SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp CROSS JOIN Departments dep <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>DepartmentID<\/th>\n<th>ID<\/th>\n<th>Name<\/th>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1001<\/td>\n<td>\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<td>3<\/td>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<td>2<\/td>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>3<\/td>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<td>3<\/td>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1005<\/td>\n<td>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u043e\u0432 \u0410.\u0410.<\/td>\n<td>NULL<\/td>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<td>1<\/td>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1001<\/td>\n<td>\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<td>3<\/td>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<td>2<\/td>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>3<\/td>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<td>3<\/td>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1005<\/td>\n<td>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u043e\u0432 \u0410.\u0410.<\/td>\n<td>NULL<\/td>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<td>1<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1001<\/td>\n<td>\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<td>2<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1005<\/td>\n<td>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u043e\u0432 \u0410.\u0410.<\/td>\n<td>NULL<\/td>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<td>1<\/td>\n<td>4<\/td>\n<td>\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/td>\n<\/tr>\n<tr>\n<td>1001<\/td>\n<td>\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<td>3<\/td>\n<td>4<\/td>\n<td>\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<td>2<\/td>\n<td>4<\/td>\n<td>\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/td>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>3<\/td>\n<td>4<\/td>\n<td>\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/td>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<td>3<\/td>\n<td>4<\/td>\n<td>\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/td>\n<\/tr>\n<tr>\n<td>1005<\/td>\n<td>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u043e\u0432 \u0410.\u0410.<\/td>\n<td>NULL<\/td>\n<td>4<\/td>\n<td>\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/td>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<td>1<\/td>\n<td>5<\/td>\n<td>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430<\/td>\n<\/tr>\n<tr>\n<td>1001<\/td>\n<td>\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<td>3<\/td>\n<td>5<\/td>\n<td>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<td>2<\/td>\n<td>5<\/td>\n<td>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430<\/td>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>3<\/td>\n<td>5<\/td>\n<td>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430<\/td>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<td>3<\/td>\n<td>5<\/td>\n<td>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430<\/td>\n<\/tr>\n<tr>\n<td>1005<\/td>\n<td>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u043e\u0432 \u0410.\u0410.<\/td>\n<td>NULL<\/td>\n<td>5<\/td>\n<td>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430<\/td>\n<\/tr>\n<\/table>\n<h2>\u041d\u0430\u0441\u0442\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043f\u0440\u043e \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u044b \u0442\u0430\u0431\u043b\u0438\u0446<\/h2>\n<p>  \u041f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043f\u0440\u043e \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u044b \u0442\u0430\u0431\u043b\u0438\u0446, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438.<\/p>\n<p>  \u0412 \u043c\u043d\u043e\u0433\u043e\u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445, \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043d\u0430\u043c \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u0437 \u043a\u0430\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0435. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"sql\">SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp JOIN Departments dep ON emp.DepartmentID=dep.ID <\/code><\/pre>\n<p>  \u0412 \u043d\u0435\u043c \u043f\u043e\u043b\u044f \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 ID \u0438 Name \u0435\u0441\u0442\u044c \u0432 \u043e\u0431\u043e\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u0438 \u0432 Employees, \u0438 \u0432 Departments. \u0418 \u0447\u0442\u043e\u0431\u044b \u0438\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0442\u044c, \u043c\u044b \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u044f\u0435\u043c \u0438\u043c\u044f \u043f\u043e\u043b\u044f \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u043e\u043c \u0438 \u0442\u043e\u0447\u043a\u043e\u0439, \u0442.\u0435. \u00abemp.ID\u00bb, \u00abemp.Name\u00bb, \u00abdep.ID\u00bb, \u00abdep.Name\u00bb.<\/p>\n<p>  \u0412\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c \u043f\u043e\u0447\u0435\u043c\u0443 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c\u0438 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u0430\u043c\u0438 \u2013 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e, \u0431\u0435\u0437 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u043e\u0432 \u043d\u0430\u0448 \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u044b \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"sql\">SELECT Employees.ID,Employees.Name,Employees.DepartmentID,Departments.ID,Departments.Name FROM Employees JOIN Departments ON Employees.DepartmentID=Departments.ID <\/code><\/pre>\n<p>  \u041f\u043e \u043c\u043d\u0435, \u0441\u0442\u0430\u043b\u043e \u043e\u0447\u0435\u043d\u044c \u0434\u043b\u0438\u043d\u043d\u043e \u0438 \u0445\u0443\u0436\u0435 \u0447\u0438\u0442\u0430\u0435\u043c\u043e, \u0442.\u043a. \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u043b\u0435\u0439 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u0438\u0441\u044c \u0441\u0440\u0435\u0434\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u0438\u043c\u0435\u043d \u0442\u0430\u0431\u043b\u0438\u0446.<\/p>\n<p>  \u0412 \u043c\u043d\u043e\u0433\u043e\u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445, \u0445\u043e\u0442\u044c \u0438 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u0431\u0435\u0437 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u0430, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0438\u043c\u044f \u043d\u0435 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u043d\u043e \u044f \u0431\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u044b \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0442.\u043a. \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u043f\u043e\u043b\u0435 \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u0438\u043c\u0435\u043d\u0435\u043c \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u044f\u0442 \u0432\u043e \u0432\u0442\u043e\u0440\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0430 \u0442\u043e\u0433\u0434\u0430 \u0432\u0430\u0448 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f, \u0440\u0443\u0433\u0430\u044f\u0441\u044c \u043d\u0430 \u0442\u043e \u0447\u0442\u043e \u043e\u043d \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u044c \u043a \u043a\u0430\u043a\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u043e\u0435 \u043f\u043e\u043b\u0435.<\/p>\n<p>  \u0422\u043e\u043b\u044c\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u044b, \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0438\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0430\u043c\u043e\u0439 \u0441 \u0441\u043e\u0431\u043e\u0439. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c \u0432\u0441\u0442\u0430\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430, \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u0440\u0438\u043d\u044f\u0442 \u043f\u0440\u044f\u043c\u043e \u0434\u043e \u043d\u0435\u0433\u043e (\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043c\u0435\u043d\u044c\u0448\u0435). \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0442\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u043e\u043c\u0435\u0440\u0430 \u0432\u044b\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438 \u0431\u0435\u0437 \u0434\u044b\u0440\u043e\u043a, \u0442\u043e\u0433\u0434\u0430 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"sql\">SELECT   e1.ID EmpID1,   e1.Name EmpName1,   e2.ID EmpID2,   e2.Name EmpName2    FROM Employees e1 LEFT JOIN Employees e2 ON e1.ID=e2.ID+1 -- \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 <\/code><\/pre>\n<p>  \u0422.\u0435. \u0437\u0434\u0435\u0441\u044c \u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 Employees, \u043c\u044b \u0434\u0430\u043b\u0438 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c \u00abe1\u00bb, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u00abe2\u00bb.<\/p>\n<h2>\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u0432\u0438\u0434 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<\/h2>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c 2 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0430\u043a \u0438 \u043d\u0430\u0437\u043e\u0432\u0435\u043c LeftTable \u0438 RightTable:<\/p>\n<pre><code class=\"sql\">CREATE TABLE LeftTable(   LCode int,   LDescr varchar(10) ) GO  CREATE TABLE RightTable(   RCode int,   RDescr varchar(10) ) GO  INSERT LeftTable(LCode,LDescr)VALUES (1,'L-1'), (2,'L-2'), (3,'L-3'), (5,'L-5')  INSERT RightTable(RCode,RDescr)VALUES (2,'B-2'), (3,'B-3'), (4,'B-4') <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0432 \u044d\u0442\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445:<\/p>\n<pre><code class=\"sql\">SELECT * FROM LeftTable <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<\/tr>\n<\/table>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT * FROM RightTable <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>B-2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<\/table>\n<h3>JOIN<\/h3>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT l.*,r.* FROM LeftTable l JOIN RightTable r ON l.LCode=r.RCode <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2<\/td>\n<td>2<\/td>\n<td>B-2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<\/table>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0431\u044b\u043b\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u044b \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u043e\u0441\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (l.LCode=r.RCode)<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/08e\/61a\/aea\/08e61aaea6f64adb8e921a3c928e2619.png\"\/><\/p>\n<h3>LEFT JOIN<\/h3>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT l.*,r.* FROM LeftTable l LEFT JOIN RightTable r ON l.LCode=r.RCode <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2<\/td>\n<td>2<\/td>\n<td>B-2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<\/table>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0431\u044b\u043b\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u044b \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 LeftTable, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0441\u0442\u0440\u043e\u043a \u0438\u0437 RightTable, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u043e\u0441\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (l.LCode=r.RCode)<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/4e6\/ea1\/169\/4e6ea1169ceb43e4a331d0641e79d9d6.png\"\/><\/p>\n<h3>RIGHT JOIN<\/h3>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT l.*,r.* FROM LeftTable l RIGHT JOIN RightTable r ON l.LCode=r.RCode <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2<\/td>\n<td>2<\/td>\n<td>B-2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<\/table>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0431\u044b\u043b\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u044b \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 RightTable, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0441\u0442\u0440\u043e\u043a \u0438\u0437 LeftTable, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u043e\u0441\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (l.LCode=r.RCode)<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/73c\/de0\/d16\/73cde0d161ad49d99f6422f2666beecd.png\"\/><\/p>\n<p>  \u041f\u043e \u0441\u0443\u0442\u0438 \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u0438\u043c LeftTable \u0438 RightTable \u043c\u0435\u0441\u0442\u0430\u043c\u0438, \u0442\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043b\u0435\u0432\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"sql\">SELECT l.*,r.* FROM RightTable r LEFT JOIN LeftTable l ON l.LCode=r.RCode <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2<\/td>\n<td>2<\/td>\n<td>B-2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<\/table>\n<p>  \u042f \u0437\u0430 \u0441\u043e\u0431\u043e\u0439 \u0437\u0430\u043c\u0435\u0442\u0438\u043b, \u0447\u0442\u043e \u044f \u0447\u0430\u0449\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e \u0438\u043c\u0435\u043d\u043d\u043e LEFT JOIN, \u0442.\u0435. \u044f \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0443\u043c\u0430\u044e, \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u043a\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u043d\u0435 \u0432\u0430\u0436\u043d\u044b, \u0430 \u043f\u043e\u0442\u043e\u043c \u0434\u0443\u043c\u0430\u044e, \u043a\u0430\u043a\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430\/\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0431\u0443\u0434\u0435\u0442 \u0438\u0433\u0440\u0430\u0442\u044c \u0440\u043e\u043b\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0435\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.<\/p>\n<h3>FULL JOIN \u2013 \u044d\u0442\u043e \u043f\u043e \u0441\u0443\u0442\u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 LEFT JOIN + RIGHT JOIN<\/h3>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT l.*,r.* FROM LeftTable l FULL JOIN RightTable r ON l.LCode=r.RCode <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2<\/td>\n<td>2<\/td>\n<td>B-2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<tr>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<\/table>\n<p>  \u0412\u0435\u0440\u043d\u0443\u043b\u0438\u0441\u044c \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0437 LeftTable \u0438 RightTable. \u0421\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u043e\u0441\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (l.LCode=r.RCode) \u0431\u044b\u043b\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u044b \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u043b\u0435\u0432\u043e\u0439 \u0438\u043b\u0438 \u043f\u0440\u0430\u0432\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f NULL-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/2bb\/f93\/cb7\/2bbf93cb720e4d6998b78fcbb007a92a.png\"\/><\/p>\n<h3>CROSS JOIN<\/h3>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT l.*,r.* FROM LeftTable l CROSS JOIN RightTable r <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<td>2<\/td>\n<td>B-2<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2<\/td>\n<td>2<\/td>\n<td>B-2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>2<\/td>\n<td>B-2<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<td>2<\/td>\n<td>B-2<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<\/table>\n<p>  \u041a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 LeftTable \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u0442\u0441\u044f \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u043e\u043a RightTable.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/42f\/daf\/ec9\/42fdafec90fd4a13a0663d3eee23e2e4.png\"\/><\/p>\n<h2>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c Employees \u0438 Departments<\/h2>\n<p>  \u041d\u0430\u0434\u0435\u044e\u0441\u044c \u0432\u044b \u043f\u043e\u043d\u044f\u043b\u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0442\u0430\u043a, \u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u00abJOIN-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u2013 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0441 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446 Employees \u0438 Departments, \u0430 \u043f\u043e\u0442\u043e\u043c \u0441\u043d\u043e\u0432\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0439\u0442\u0435\u0441\u044c \u0441\u044e\u0434\u0430, \u043e\u0431\u0441\u0443\u0434\u0438\u043c \u044d\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u0435.<\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0432\u043c\u0435\u0441\u0442\u0435 \u043f\u043e\u0434\u0432\u0435\u0441\u0442\u0438 \u0440\u0435\u0437\u044e\u043c\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430:  <\/p>\n<table>\n<tr>\n<th width=\"400\">\u0417\u0430\u043f\u0440\u043e\u0441<\/th>\n<th>\u0420\u0435\u0437\u044e\u043c\u0435<\/th>\n<\/tr>\n<tr>\n<td>\n<pre><code class=\"sql\">-- JOIN \u0432\u0435\u0440\u043d\u0435\u0442 5 \u0441\u0442\u0440\u043e\u043a SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp JOIN Departments dep ON emp.DepartmentID=dep.ID<\/code><\/pre>\n<\/td>\n<td>\u041f\u043e \u0441\u0443\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0440\u043d\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 DepartmentID.<br \/>  \u0422.\u0435. \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c \u0447\u0438\u0441\u043b\u044f\u0449\u0438\u0445\u0441\u044f \u0437\u0430 \u043a\u0430\u043a\u0438\u043c-\u043d\u0438\u0431\u0443\u0434\u044c \u043e\u0442\u0434\u0435\u043b\u043e\u043c (\u0431\u0435\u0437 \u0443\u0447\u0435\u0442\u0430 \u0432\u043d\u0435\u0448\u0442\u0430\u0442\u043a\u0438\u043a\u043e\u0432).<\/td>\n<\/tr>\n<tr>\n<td>\n<pre><code class=\"sql\">-- LEFT JOIN \u0432\u0435\u0440\u043d\u0435\u0442 6 \u0441\u0442\u0440\u043e\u043a SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp LEFT JOIN Departments dep ON emp.DepartmentID=dep.ID<\/code><\/pre>\n<\/td>\n<td>\u0412\u0435\u0440\u043d\u0435\u0442 \u0432\u0441\u0435\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432. \u0414\u043b\u044f \u0442\u0435\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d DepartmentID, \u043f\u043e\u043b\u044f \u00abdep.ID\u00bb \u0438 \u00abdep.Name\u00bb \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c NULL.<br \/>  \u0412\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0439\u0442\u0435, \u0447\u0442\u043e NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 ISNULL(dep.Name,&#8217;\u0432\u043d\u0435 \u0448\u0442\u0430\u0442\u0430&#8217;).<br \/>  \u042d\u0442\u043e\u0442 \u0432\u0438\u0434 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0432\u0441\u0435\u043c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0417\u041f.<\/td>\n<\/tr>\n<tr>\n<td>\n<pre><code class=\"sql\">-- RIGHT JOIN \u0432\u0435\u0440\u043d\u0435\u0442 7 \u0441\u0442\u0440\u043e\u043a SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp RIGHT JOIN Departments dep ON emp.DepartmentID=dep.ID<\/code><\/pre>\n<\/td>\n<td>\u0417\u0434\u0435\u0441\u044c \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0434\u044b\u0440\u043a\u0438 \u0441\u043b\u0435\u0432\u0430, \u0442.\u0435. \u043e\u0442\u0434\u0435\u043b \u0435\u0441\u0442\u044c, \u043d\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0432 \u044d\u0442\u043e\u043c \u043e\u0442\u0434\u0435\u043b\u0435 \u043d\u0435\u0442.<br \/>  \u0422\u0430\u043a\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u043e\u0442\u0434\u0435\u043b\u044b \u0438 \u043a\u0435\u043c \u0443 \u043d\u0430\u0441 \u0437\u0430\u043d\u044f\u0442\u044b, \u0430 \u043a\u0430\u043a\u0438\u0435 \u0435\u0449\u0435 \u043d\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u044b. \u042d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u043f\u0440\u0438\u0435\u043c\u0430 \u043d\u043e\u0432\u044b\u0445 \u0440\u0430\u0431\u043e\u0442\u043d\u0438\u043a\u043e\u0432 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0443\u0434\u0435\u0442 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0442\u0434\u0435\u043b.<\/td>\n<\/tr>\n<tr>\n<td>\n<pre><code class=\"sql\">-- FULL JOIN \u0432\u0435\u0440\u043d\u0435\u0442 8 \u0441\u0442\u0440\u043e\u043a SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp FULL JOIN Departments dep ON emp.DepartmentID=dep.ID<\/code><\/pre>\n<\/td>\n<td>\u042d\u0442\u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0430\u0436\u0435\u043d, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c \u0438 \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0438\u043c\u0435\u044e\u0449\u0438\u043c\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u0430\u043c. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u044b\u0440\u043a\u0438 (NULL-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f) \u043b\u0438\u0431\u043e \u043f\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c, \u043b\u0438\u0431\u043e \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u0430\u043c (\u0432\u043d\u0435\u0448\u0442\u0430\u0442\u043d\u0438\u043a\u0438).<br \/>  \u0414\u0430\u043d\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0446\u0435\u043b\u044f\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0432\u0441\u0435 \u043b\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u0441\u0438\u0434\u044f\u0442 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0445 \u043e\u0442\u0434\u0435\u043b\u0430\u0445, \u0442.\u043a. \u043c\u043e\u0436\u0435\u0442 \u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0447\u0438\u0441\u043b\u044f\u0442\u0441\u044f \u043a\u0430\u043a \u0432\u043d\u0435\u0448\u0442\u0430\u0442\u043d\u0438\u043a\u0438, \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0431\u044b\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b.<\/td>\n<\/tr>\n<tr>\n<td>\n<pre><code class=\"sql\">-- CROSS JOIN \u0432\u0435\u0440\u043d\u0435\u0442 30 \u0441\u0442\u0440\u043e\u043a - (6 \u0441\u0442\u0440\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b Employees) * (5 \u0441\u0442\u0440\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b Departments) SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp CROSS JOIN Departments dep<\/code><\/pre>\n<\/td>\n<td>\u0412 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u0434\u0430\u0436\u0435 \u0441\u043b\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u0433\u0434\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441 CROSS JOIN \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u043d\u0438\u0436\u0435.<\/td>\n<\/tr>\n<\/table>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 DepartmentID \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 Employees, \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u0430\u043a\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Departments \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 ID, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 Departments \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043b\u0438\u0441\u044c \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0437\u0430\u043f\u0438\u0441\u044f\u043c\u0438 \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u043e\u0441\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (emp.DepartmentID=dep.ID):<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/30e\/c9c\/a86\/30ec9ca86c6b465c838a353597a08f08.png\"\/><\/p>\n<p>  \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0442.\u0435. \u043c\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 Employees, \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Departments. \u042f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u043e\u0441\u0442\u0440\u0438\u043b \u043d\u0430 \u044d\u0442\u043e\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0442.\u043a. \u0431\u044b\u0432\u0430\u044e\u0442 \u0441\u043b\u0443\u0447\u0430\u0438, \u043a\u043e\u0433\u0434\u0430 \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u0414\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0437\u0430\u0434\u0430\u0447\u0443 \u2013 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u0430 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430, \u0435\u0441\u043b\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043d\u0435\u0442, \u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u0434\u0435\u043b\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u2013 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0437\u044f\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 RIGHT JOIN, \u043f\u043b\u044e\u0441 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u044f \u043c\u0435\u0441\u0442\u0430\u043c\u0438:<\/p>\n<pre><code class=\"sql\">SELECT dep.ID,dep.Name,emp.ID,emp.Name FROM Employees emp RIGHT JOIN Departments dep ON emp.DepartmentID=dep.ID <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>ID<\/th>\n<th>Name<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<td>1001<\/td>\n<td>\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<\/table>\n<p>  \u041d\u043e \u043c\u044b \u0434\u043b\u044f \u0418\u0422-\u043e\u0442\u0434\u0435\u043b\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u0447\u043a\u0438, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0431\u044b\u043b\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u043c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u043c, \u0442.\u0435. \u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432\u044b\u043c \u041d.\u041d.<\/p>\n<p>  \u0417\u0430\u0434\u0430\u0447\u0443 \u0442\u0430\u043a\u043e\u0433\u043e \u0440\u043e\u0434\u0430, \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430:<\/p>\n<pre><code class=\"sql\">SELECT dep.ID,dep.Name,emp.ID,emp.Name FROM Employees emp  \/*   \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u0441 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 (\u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 - MAX(ID))   \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u0430 (GROUP BY DepartmentID) *\/ JOIN   (     SELECT MAX(ID) MaxEmployeeID     FROM Employees     GROUP BY DepartmentID   ) lastEmp ON emp.ID=lastEmp.MaxEmployeeID  RIGHT JOIN Departments dep ON emp.DepartmentID=dep.ID -- \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 Departments <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>ID<\/th>\n<th>Name<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<\/table>\n<p>  \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f Employees \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043c\u044b \u0441\u043c\u043e\u0433\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u044b\u0445 \u043d\u0430\u043c \u0434\u043b\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 Departments \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432.<\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u043f\u043b\u0430\u0432\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u042f \u0434\u0443\u043c\u0430\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0445 \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u043b\u044f \u0432\u0430\u0441 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043d\u0430 \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u043c\u0435\u0441\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0438\u0433\u0440\u0430\u0435\u0442 \u0435\u0435 \u0440\u043e\u043b\u044c, \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e. \u041a \u0442\u0435\u043c\u0435 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043c\u044b \u0435\u0449\u0435 \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e.<\/p>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n<pre><code class=\"sql\">SELECT MAX(ID) MaxEmployeeID FROM Employees GROUP BY DepartmentID <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>MaxEmployeeID<\/th>\n<\/tr>\n<tr>\n<td>1005<\/td>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<\/tr>\n<\/table>\n<p>  \u0422.\u0435. \u043e\u043d \u0432\u0435\u0440\u043d\u0443\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432, \u0432 \u0440\u0430\u0437\u0440\u0435\u0437\u0435 \u043e\u0442\u0434\u0435\u043b\u043e\u0432.<\/p>\n<p>  \u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0432\u0435\u0440\u0445\u0443-\u0432\u043d\u0438\u0437, \u043d\u0430\u0440\u0430\u0449\u0438\u0432\u0430\u044f\u0441\u044c \u043a\u0430\u043a \u0441\u043d\u0435\u0436\u043d\u044b\u0439 \u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u0430\u0442\u0438\u0442\u0441\u044f \u0441 \u0433\u043e\u0440\u044b. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u00abEmployees emp JOIN (\u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441) lastEmp\u00bb, \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044f \u043d\u043e\u0432\u044b\u0439 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439 \u043d\u0430\u0431\u043e\u0440:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/39e\/5f2\/510\/39e5f25102ca4b4cbb67e760d455b0f2.png\"\/><\/p>\n<p>  \u041f\u043e\u0442\u043e\u043c \u0438\u0434\u0435\u0442 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0431\u043e\u0440\u0430, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u00abEmployees emp JOIN (\u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441) lastEmp\u00bb (\u043d\u0430\u0437\u043e\u0432\u0435\u043c \u0435\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u00ab\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u00bb) \u0441 Departments, \u0442.\u0435. \u00ab\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 RIGHT JOIN Departments dep\u00bb:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/30b\/a2c\/d4f\/30ba2cd4f2ef447ba31a7db92ba35d51.png\"\/><\/p>\n<h2>\u0421\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0434\u043b\u044f \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430<\/h2>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u043e\u0432\u0438\u0447\u043e\u043a, \u0442\u043e \u0432\u0430\u043c \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e JOIN-\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e, \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0432\u044b \u043d\u0430 100% \u043d\u0435 \u0431\u0443\u0434\u0435\u0442\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0432\u0438\u0434 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u0430\u043a\u043e\u0433\u043e \u0432\u0438\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u0432 \u0438\u0442\u043e\u0433\u0435.<\/p>\n<p>  \u0414\u043b\u044f \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u043f\u0440\u043e JOIN-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"sql\">-- \u043e\u0447\u0438\u0441\u0442\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u044b LeftTable \u0438 RightTable TRUNCATE TABLE LeftTable TRUNCATE TABLE RightTable GO  -- \u0438 \u0437\u0430\u043b\u044c\u0435\u043c \u0432 \u043d\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 INSERT LeftTable(LCode,LDescr)VALUES (1,'L-1'), (2,'L-2a'), (2,'L-2b'), (3,'L-3'), (5,'L-5')  INSERT RightTable(RCode,RDescr)VALUES (2,'B-2a'), (2,'B-2b'), (3,'B-3'), (4,'B-4') <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445:<\/p>\n<pre><code class=\"sql\">SELECT * FROM LeftTable <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<\/tr>\n<\/table>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT * FROM RightTable <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<\/table>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u044b\u0442\u0430\u0439\u0442\u0435\u0441\u044c \u0441\u0430\u043c\u0438 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0432\u0438\u0434\u043e\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f (Excel \u0432\u0430\u043c \u0432 \u043f\u043e\u043c\u043e\u0449\u044c):<\/p>\n<pre><code class=\"sql\">SELECT l.*,r.* FROM LeftTable l JOIN RightTable r ON l.LCode=r.RCode <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<\/table>\n<pre><code class=\"sql\">SELECT l.*,r.* FROM LeftTable l LEFT JOIN RightTable r ON l.LCode=r.RCode <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<\/table>\n<pre><code class=\"sql\">SELECT l.*,r.* FROM LeftTable l RIGHT JOIN RightTable r ON l.LCode=r.RCode <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<\/table>\n<pre><code class=\"sql\">SELECT l.*,r.* FROM LeftTable l FULL JOIN RightTable r ON l.LCode=r.RCode <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<tr>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<\/table>\n<pre><code class=\"sql\">SELECT l.*,r.* FROM LeftTable l CROSS JOIN RightTable r <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>LCode<\/th>\n<th>LDescr<\/th>\n<th>RCode<\/th>\n<th>RDescr<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<td>2<\/td>\n<td>B-2a<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<td>2<\/td>\n<td>B-2b<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<td>3<\/td>\n<td>B-3<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>L-1<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2a<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>L-2b<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>L-3<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>L-5<\/td>\n<td>4<\/td>\n<td>B-4<\/td>\n<\/tr>\n<\/table>\n<h2>\u0415\u0449\u0435 \u0440\u0430\u0437 \u043f\u0440\u043e JOIN-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<\/h2>\n<p>  \u0415\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438. \u0417\u0434\u0435\u0441\u044c \u043f\u043e\u0432\u0442\u043e\u0440 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u043d\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e, \u0442\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u2013 \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c \u0436\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b. \ud83d\ude09 \u041d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u00ab\u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0435 \u2013 \u043c\u0430\u0442\u044c \u0443\u0447\u0435\u043d\u0438\u044f\u00bb.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0442\u043e \u0432 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0432\u0435\u0440\u0445\u0443-\u0432\u043d\u0438\u0437. \u0413\u0440\u0443\u0431\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u044d\u0442\u0438\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"sql\">SELECT   e.ID,   e.Name EmployeeName,   p.Name PositionName,   d.Name DepartmentName FROM Employees e LEFT JOIN Departments d ON e.DepartmentID=d.ID LEFT JOIN Positions p ON e.PositionID=p.ID <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0432\u044b\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0432\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Employees:<\/p>\n<pre><code class=\"sql\">SELECT   e.* FROM Employees e -- 1 <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 Departments:<\/p>\n<pre><code class=\"sql\">SELECT   e.*, -- \u043a \u043f\u043e\u043b\u044f\u043c Employees   d.*  -- \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 (e.DepartmentID=d.ID) \u043f\u043e\u043b\u044f Departments FROM Employees e -- 1 LEFT JOIN Departments d ON e.DepartmentID=d.ID -- 2 <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u0443\u0436\u0435 \u0438\u0434\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 Positions:<\/p>\n<pre><code class=\"sql\">SELECT   e.*, -- \u043a \u043f\u043e\u043b\u044f\u043c Employees   d.*, -- \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 (e.DepartmentID=d.ID) \u043f\u043e\u043b\u044f Departments   p.*  -- \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 (e.PositionID=p.ID) \u043f\u043e\u043b\u044f Positions FROM Employees e -- 1 LEFT JOIN Departments d ON e.DepartmentID=d.ID -- 2 LEFT JOIN Positions p ON e.PositionID=p.ID -- 3 <\/code><\/pre>\n<p>  \u0422.\u0435. \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/38b\/add\/e78\/38badde78e474befb2c73ba8278c9a4b.png\"\/><\/p>\n<p>  \u0418 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0438\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u0442\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043f\u0440\u043e\u0441\u0438\u043c \u0432\u044b\u0432\u0435\u0441\u0442\u0438:<\/p>\n<pre><code class=\"sql\">SELECT   e.ID, -- 1. \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430   e.Name EmployeeName, -- 2. \u0438\u043c\u044f \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430   p.Name PositionName, -- 3. \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u0438   d.Name DepartmentName -- 4. \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u0434\u0435\u043b\u0430 FROM Employees e LEFT JOIN Departments d ON e.DepartmentID=d.ID LEFT JOIN Positions p ON e.PositionID=p.ID <\/code><\/pre>\n<p>  \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a\u043e \u0432\u0441\u0435\u043c\u0443 \u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u043c\u0443 \u043d\u0430\u0431\u043e\u0440\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440 WHERE \u0438 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443 ORDER BY:<\/p>\n<pre><code class=\"sql\">SELECT   e.ID, -- 1. \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430   e.Name EmployeeName, -- 2. \u0438\u043c\u044f \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430   p.Name PositionName, -- 3. \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u0438   d.Name DepartmentName -- 4. \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u0434\u0435\u043b\u0430 FROM Employees e LEFT JOIN Departments d ON e.DepartmentID=d.ID LEFT JOIN Positions p ON e.PositionID=p.ID WHERE d.ID=3 -- \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u043e\u043b\u044f \u0438\u0437 \u043f\u043e\u043b\u0435 ID \u0438\u0437 Departments   AND p.ID=3 -- \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u0435 ID \u0438\u0437 Positions ORDER BY e.Name -- \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u043e\u043b\u0435 Name \u0438\u0437 Employees <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>EmployeeName<\/th>\n<th>PositionName<\/th>\n<th>DepartmentName<\/th>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<td>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<tr>\n<td>1001<\/td>\n<td>\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<td>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442<\/td>\n<td>\u0418\u0422<\/td>\n<\/tr>\n<\/table>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u2013 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0442\u0430\u043a\u0443\u044e \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u043d\u0430\u0434 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n<pre><code class=\"sql\">SELECT [DISTINCT] \u0441\u043f\u0438\u0441\u043e\u043a_\u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0438\u043b\u0438 * FROM \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a WHERE \u0444\u0438\u043b\u044c\u0442\u0440 ORDER BY \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435_\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 <\/code><\/pre>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c \u0435\u0441\u043b\u0438 \u0440\u0430\u043d\u044c\u0448\u0435 \u0432 \u0440\u043e\u043b\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430, \u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430 \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0448\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435:<\/p>\n<pre><code class=\"sql\">Employees e LEFT JOIN Departments d ON e.DepartmentID=d.ID LEFT JOIN Positions p ON e.PositionID=p.ID <\/code><\/pre>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0447\u0435\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0442\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n<pre><code class=\"sql\">SELECT   e.ID,   e.Name EmployeeName,   p.Name PositionName,   d.Name DepartmentName FROM        \/* \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a - \u043d\u0430\u0447\u0430\u043b\u043e *\/       Employees e       LEFT JOIN Departments d ON e.DepartmentID=d.ID       LEFT JOIN Positions p ON e.PositionID=p.ID       \/* \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a - \u043a\u043e\u043d\u0435\u0446 *\/  WHERE d.ID=3   AND p.ID=3 ORDER BY e.Name <\/code><\/pre>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0443:<\/p>\n<pre><code class=\"sql\">SELECT   ISNULL(dep.Name,'\u041f\u0440\u043e\u0447\u0438\u0435') DepName,   COUNT(DISTINCT emp.PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(emp.Salary) SalaryAmount,   AVG(emp.Salary) SalaryAvg -- \u043f\u043b\u044e\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 FROM      \/* \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a - \u043d\u0430\u0447\u0430\u043b\u043e *\/     Employees emp     LEFT JOIN Departments dep ON emp.DepartmentID=dep.ID     \/* \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a - \u043a\u043e\u043d\u0435\u0446 *\/  GROUP BY emp.DepartmentID,dep.Name ORDER BY DepName <\/code><\/pre>\n<p>  \u0412\u0438\u0434\u0438\u0442\u0435, \u043c\u044b \u0432\u0441\u0435 \u0442\u0430\u043a \u0436\u0435 \u043a\u0440\u0443\u0442\u0438\u043c\u0441\u044f \u0432\u043e\u043a\u0440\u0443\u0433 \u0434\u0430 \u043e\u043a\u043e\u043b\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u0438\u0445.<\/p>\n<p>  \u0418 \u043a\u0430\u043a \u043c\u044b \u0443\u0432\u0438\u0434\u0435\u043b\u0438, \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435 \u043b\u044e\u0431\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u043e\u044f\u0442\u044c \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441. \u0412 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432\u043b\u043e\u0436\u0435\u043d\u044b \u0432 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b. \u0418 \u0432\u0441\u0435 \u044d\u0442\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0442\u043e\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0438\u0437 \u0441\u0435\u0431\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438. \u0422\u043e \u0435\u0441\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f, \u044d\u0442\u043e \u043a\u0438\u0440\u043f\u0438\u0447\u0438\u043a\u0438, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043b\u044e\u0431\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441.<\/p>\n<h2>\u041e\u0431\u0435\u0449\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441 CROSS JOIN<\/h2>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 CROSS JOIN, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432, \u0432 \u043a\u0430\u043a\u043e\u043c \u043e\u0442\u0434\u0435\u043b\u0435 \u0438 \u043d\u0430 \u043a\u0430\u043a\u0438\u0445 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044f\u0445 \u0447\u0438\u0441\u043b\u0438\u0442\u0441\u044f. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u0430 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c \u0432\u0441\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u0438:<\/p>\n<pre><code class=\"sql\">SELECT   d.Name DepartmentName,   p.Name PositionName,   e.EmplCount FROM Departments d CROSS JOIN Positions p LEFT JOIN   (     \/*       \u0437\u0434\u0435\u0441\u044c \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0434\u043b\u044f \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432       \u0432 \u0440\u0430\u0437\u0440\u0435\u0437\u0435 \u0433\u0440\u0443\u043f\u043f (DepartmentID,PositionID)     *\/     SELECT DepartmentID,PositionID,COUNT(*) EmplCount     FROM Employees     GROUP BY DepartmentID,PositionID   ) e ON e.DepartmentID=d.ID AND e.PositionID=p.ID ORDER BY DepartmentName,PositionName <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/02e\/b51\/cdb\/02eb51cdb7494a3eba12ea49eb373389.png\"\/><\/p>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u043e\u0441\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 CROSS JOIN, \u0430 \u0437\u0430\u0442\u0435\u043c \u043a \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u043c\u0443 \u043d\u0430\u0431\u043e\u0440\u0443 \u0441\u0434\u0435\u043b\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0437 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 LEFT JOIN. \u0412\u043c\u0435\u0441\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 LEFT JOIN \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441.<\/p>\n<p>  \u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043a\u043e\u0431\u043a\u0438 \u0438 \u0435\u043c\u0443 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u00abe\u00bb. \u0422\u043e \u0435\u0441\u0442\u044c \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0435 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439, \u0430 \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430:<\/p>\n<pre><code class=\"sql\">SELECT DepartmentID,PositionID,COUNT(*) EmplCount FROM Employees GROUP BY DepartmentID,PositionID <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>DepartmentID<\/th>\n<th>PositionID<\/th>\n<th>EmplCount<\/th>\n<\/tr>\n<tr>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>2<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>3<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>4<\/td>\n<td>1<\/td>\n<\/tr>\n<\/table>\n<p>  \u0412\u043c\u0435\u0441\u0442\u0435 \u0441 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u043e\u043c \u00abe\u00bb \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 DepartmentID, PositionID \u0438 EmplCount. \u041f\u043e \u0441\u0443\u0442\u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0434\u0435\u0442 \u0441\u0435\u0431\u044f \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0435\u0441\u043b\u0438 \u043d\u0430 \u0435\u0433\u043e \u043c\u0435\u0441\u0442\u0435 \u0441\u0442\u043e\u044f\u043b\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a\u0430\u043a \u0438 \u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u044b,<br \/>  \u0432\u0441\u0435 \u0438\u043c\u0435\u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441, \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0437\u0430\u0434\u0430\u043d\u044b \u044f\u0432\u043d\u043e \u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c\u0441\u044f.<\/p>\n<h2>\u0421\u0432\u044f\u0437\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 WHERE-\u0443\u0441\u043b\u043e\u0432\u0438\u044f<\/h2>\n<p>  \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043f\u0435\u0440\u0435\u043f\u0438\u0448\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0441 JOIN-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\u043c:<\/p>\n<pre><code class=\"sql\">SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp JOIN Departments dep ON emp.DepartmentID=dep.ID -- \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446 WHERE emp.DepartmentID=3 -- \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 <\/code><\/pre>\n<p>  \u0427\u0435\u0440\u0435\u0437 WHERE-\u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043e\u043d \u043f\u0440\u0438\u043c\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0444\u043e\u0440\u043c\u0443:<\/p>\n<pre><code class=\"sql\">SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM   Employees emp,   Departments dep WHERE emp.DepartmentID=dep.ID -- \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446   AND emp.DepartmentID=3 -- \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043f\u043b\u043e\u0445\u043e \u0442\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u043c\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446 (emp.DepartmentID=dep.ID) \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 (emp.DepartmentID=3).<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c CROSS JOIN:<\/p>\n<pre><code class=\"sql\">SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM Employees emp CROSS JOIN Departments dep -- \u0434\u0435\u043a\u0430\u0440\u0442\u043e\u0432\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 (\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 \u0443\u0441\u043b\u043e\u0432\u0438\u044f) WHERE emp.DepartmentID=3 -- \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 <\/code><\/pre>\n<p>  \u0427\u0435\u0440\u0435\u0437 WHERE-\u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043e\u043d \u043f\u0440\u0438\u043c\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0444\u043e\u0440\u043c\u0443:<\/p>\n<pre><code class=\"sql\">SELECT emp.ID,emp.Name,emp.DepartmentID,dep.ID,dep.Name FROM   Employees emp,   Departments dep WHERE emp.DepartmentID=3 -- \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 <\/code><\/pre>\n<p>  \u0422.\u0435. \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446 Employees \u0438 Departments. \u0427\u0435\u043c \u043f\u043b\u043e\u0445 \u044d\u0442\u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441? \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435, \u0447\u0442\u043e \u043a\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043d\u0430 \u0432\u0430\u0448 \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u0434\u0443\u043c\u0430\u0435\u0442 \u00ab\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0442\u043e\u0442, \u043a\u0442\u043e \u043f\u0438\u0441\u0430\u043b \u0437\u0430\u043f\u0440\u043e\u0441 \u0437\u0430\u0431\u044b\u043b \u0437\u0434\u0435\u0441\u044c \u0434\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (emp.DepartmentID=dep.ID)\u00bb \u0438 \u0441 \u0440\u0430\u0434\u043e\u0441\u0442\u044c\u044e, \u0447\u0442\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u043a\u043e\u0441\u044f\u043a, \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0435. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0447\u0435\u0433\u043e \u0437\u0430\u0434\u0443\u043c\u0430\u043d\u043d\u043e\u0435 \u0432\u0430\u043c\u0438 \u043c\u043e\u0436\u0435\u0442 \u0441\u043b\u043e\u043c\u0430\u0442\u044c\u0441\u044f, \u0442.\u043a. \u0432\u044b \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u043b\u0438 CROSS JOIN. \u0422\u0430\u043a \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u0432\u044b \u0434\u0435\u043b\u0430\u0435\u0442\u0435 \u0434\u0435\u043a\u0430\u0440\u0442\u043e\u0432\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0436\u0438\u0442\u0435, \u0447\u0442\u043e \u044d\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e CROSS JOIN.<\/p>\n<p>  \u0414\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438 \u0431\u0435\u0437 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043a\u0430\u043a \u0432\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 WHERE \u0438\u043b\u0438 JOIN), \u043e\u043d \u0438\u0445 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e. \u041d\u043e \u0438\u0437 \u0441\u043e\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c\u043e\u0441\u0442\u0438 \u043a\u043e\u0434\u0430, \u044f \u0431\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0421\u0423\u0411\u0414 \u0441\u0442\u0430\u0440\u0430\u0442\u044c\u0441\u044f \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 WHERE-\u0443\u0441\u043b\u043e\u0432\u0438\u044f. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c WHERE-\u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0434\u043b\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0432 \u0421\u0423\u0411\u0414 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 JOIN, \u044f \u0431\u044b \u043d\u0430\u0437\u0432\u0430\u043b \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u043e\u0432\u0435\u0442\u043e\u043d\u043e\u043c. WHERE-\u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0441\u043b\u0443\u0436\u0430\u0442 \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430\u0431\u043e\u0440\u0430, \u0438 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0448\u0438\u0432\u0430\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0441\u043b\u0443\u0436\u0430\u0449\u0438\u0435 \u0434\u043b\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u043c\u0438 \u0437\u0430 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043a \u0432\u044b\u0432\u043e\u0434\u0443, \u0447\u0442\u043e \u0431\u0435\u0437 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 WHERE \u043d\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c, \u0442\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0437\u0430 \u0440\u0435\u0448\u0435\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u0438 \u00ab\u043a \u0447\u0435\u0440\u0442\u0443 \u0432\u0441\u0435 \u0443\u0441\u0442\u043e\u0438\u00bb.<\/p>\n<h2>UNION-\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u2013 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h2>\n<p>  \u042f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0441\u043b\u043e\u0432\u043e\u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0438 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u0442.\u043a. \u0437\u0430\u043c\u0435\u0442\u0438\u043b, \u0447\u0442\u043e \u043d\u043e\u0432\u0438\u0447\u043a\u0438 \u0447\u0430\u0441\u0442\u043e \u043d\u0435\u0434\u043e\u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442 \u0438 \u043f\u0443\u0442\u0430\u044e\u0442 \u0441\u0443\u0442\u044c \u044d\u0442\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439.<\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u043a\u0430\u043a \u043c\u044b \u0434\u0435\u043b\u0430\u043b\u0438 \u043f\u0435\u0440\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043e\u0442\u0447\u0435\u0442\u0430 \u0434\u043b\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430:<\/p>\n<pre><code class=\"sql\">SELECT   '\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f' Info,   COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount FROM Employees WHERE DepartmentID=1 -- \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438  SELECT   '\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f' Info,   COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount FROM Employees WHERE DepartmentID=2 -- \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u0438  SELECT   '\u0418\u0422' Info,   COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount FROM Employees WHERE DepartmentID=3 -- \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0418\u0422 \u043e\u0442\u0434\u0435\u043b\u0443  SELECT   '\u041f\u0440\u043e\u0447\u0438\u0435' Info,   COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount FROM Employees WHERE DepartmentID IS NULL -- \u0438 \u0435\u0449\u0435 \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0432\u043d\u0435\u0448\u0442\u0430\u0442\u043d\u0438\u043a\u0430\u043c <\/code><\/pre>\n<p>  \u0422\u0430\u043a \u0432\u043e\u0442, \u0435\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u043d\u0435 \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438, \u043d\u043e \u0437\u043d\u0430\u043b\u0438 \u0431\u044b, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 UNION ALL, \u0442\u043e \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0441\u043a\u043b\u0435\u0438\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"sql\">SELECT   '\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f' Info,   COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount FROM Employees WHERE DepartmentID=1 -- \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 UNION ALL SELECT   '\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f' Info,   COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount FROM Employees WHERE DepartmentID=2 -- \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u0438 UNION ALL SELECT   '\u0418\u0422' Info,   COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount FROM Employees WHERE DepartmentID=3 -- \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0418\u0422 \u043e\u0442\u0434\u0435\u043b\u0443 UNION ALL SELECT   '\u041f\u0440\u043e\u0447\u0438\u0435' Info,   COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount FROM Employees WHERE DepartmentID IS NULL -- \u0438 \u0435\u0449\u0435 \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0432\u043d\u0435\u0448\u0442\u0430\u0442\u043d\u0438\u043a\u0430\u043c <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/4f5\/ab9\/7ef\/4f5ab97ef89a48bfbacbaebfaeb97c30.png\"\/><\/p>\n<p>  \u0422.\u0435. UNION ALL \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043a\u043b\u0435\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438 \u0432 \u043e\u0434\u0438\u043d \u043e\u0431\u0449\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<\/p>\n<p>  \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043b\u043e\u043d\u043e\u043a \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u043c\u0438 \u0438 \u0442\u0438\u043f\u044b \u044d\u0442\u0438\u0445 \u043a\u043e\u043b\u043e\u043d\u043e\u043a, \u0442.\u0435. \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u043e\u0439, \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u0434 \u0447\u0438\u0441\u043b\u043e\u043c, \u0434\u0430\u0442\u0430 \u043f\u043e\u0434 \u0434\u0430\u0442\u043e\u0439 \u0438 \u0442.\u043f.<\/p>\n<h3>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u043e\u0440\u0438\u0438<\/h3>\n<p>  \u0412 MS SQL \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u0438\u0434\u044b \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f:  <\/p>\n<table>\n<tr>\n<th width=\"200\">\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f<\/th>\n<th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th>\n<\/tr>\n<tr>\n<td>UNION ALL<\/td>\n<td>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0437 \u043e\u0431\u043e\u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u043e\u0432. (A+B)<\/td>\n<\/tr>\n<tr>\n<td>UNION<\/td>\n<td>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u0432\u0443\u0445 \u043d\u0430\u0431\u043e\u0440\u043e\u0432. DISTINCT(A+B)<\/td>\n<\/tr>\n<tr>\n<td>EXCEPT<\/td>\n<td>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 \u043d\u0438\u0436\u043d\u0435\u043c \u043d\u0430\u0431\u043e\u0440\u0435. \u0420\u0430\u0437\u043d\u0438\u0446\u0430 2-\u0445 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432. DISTINCT(A-B)<\/td>\n<\/tr>\n<tr>\n<td>INTERSECT<\/td>\n<td>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0432 \u043e\u0431\u043e\u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u0430\u0445. \u041f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 2-\u0445 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432. DISTINCT(A&#038;B)<\/td>\n<\/tr>\n<\/table>\n<p>  \u0412\u0441\u0435 \u044d\u0442\u043e \u043f\u0440\u043e\u0449\u0435 \u043f\u043e\u043d\u044f\u0442\u044c \u043d\u0430 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435.<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c 2 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u043d\u0430\u043f\u043e\u043b\u043d\u0438\u043c \u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u043c\u0438:<\/p>\n<pre><code class=\"sql\">CREATE TABLE TopTable(   T1 int,   T2 varchar(10) ) GO  CREATE TABLE BottomTable(   B1 int,   B2 varchar(10) ) GO  INSERT TopTable(T1,T2)VALUES (1,'Text 1'), (1,'Text 1'), (2,'Text 2'), (3,'Text 3'), (4,'Text 4'), (5,'Text 5')   INSERT BottomTable(B1,B2)VALUES (2,'Text 2'), (3,'Text 3'), (6,'Text 6'), (6,'Text 6') <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435:<\/p>\n<pre><code class=\"sql\">SELECT * FROM TopTable <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>T1<\/th>\n<th>T2<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>Text 1<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>Text 1<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>Text 2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>Text 3<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>Text 4<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>Text 5<\/td>\n<\/tr>\n<\/table>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT * FROM BottomTable <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>B1<\/th>\n<th>B2<\/th>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>Text 2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>Text 3<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>Text 6<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>Text 6<\/td>\n<\/tr>\n<\/table>\n<h3>UNION ALL<\/h3>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT T1 x,T2 y FROM TopTable  UNION ALL  SELECT B1,B2 FROM BottomTable <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/776\/840\/547\/776840547abf4267b5dbfeab0ffe1ae2.png\"\/><\/p>\n<h3>UNION<\/h3>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT T1 x,T2 y FROM TopTable  UNION  SELECT B1,B2 FROM BottomTable <\/code><\/pre>\n<p>  \u041f\u043e \u0441\u0443\u0442\u0438 UNION \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c, \u043a\u0430\u043a UNION ALL, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f DISTINCT:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/b90\/e45\/62c\/b90e4562cb1d4acab3ab5d09d9872eee.png\"\/><\/p>\n<h3>EXCEPT<\/h3>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT T1 x,T2 y FROM TopTable  EXCEPT  SELECT B1,B2 FROM BottomTable <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/830\/ce9\/88a\/830ce988a272464db7d6c8dfd7af0741.png\"\/><\/p>\n<h3>INTERSECT<\/h3>\n<p>  <\/p>\n<pre><code class=\"sql\">SELECT T1 x,T2 y FROM TopTable  INTERSECT  SELECT B1,B2 FROM BottomTable <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/de7\/899\/51d\/de789951de1a4e5cb930bdabdc566954.png\"\/><\/p>\n<h2>\u0417\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440 \u043e UNION-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f\u0445<\/h2>\n<p>  \u0412\u043e\u0442 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0438 \u0432\u0441\u0435, \u0447\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u044d\u0442\u043e \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c JOIN-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u0427\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0432 \u043c\u043e\u0435\u0439 \u0432 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 UNION ALL, \u043d\u043e \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u0438\u0434\u044b \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u043d\u0430\u0445\u043e\u0434\u044f\u0442 \u0441\u0432\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435.<\/p>\n<p>  \u041f\u0440\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0432\u0435\u0440\u0445\u0443-\u0432\u043d\u0438\u0437. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u044d\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435:<\/p>\n<pre><code class=\"sql\">CREATE TABLE NextTable(   N1 int,   N2 varchar(10) ) GO  INSERT NextTable(N1,N2)VALUES (1,'Text 1'), (4,'Text 4'), (6,'Text 6') <\/code><\/pre>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e:<\/p>\n<pre><code class=\"sql\">SELECT T1 x,T2 y FROM TopTable  EXCEPT  SELECT B1,B2 FROM BottomTable  INTERSECT  SELECT N1,N2 FROM NextTable <\/code><\/pre>\n<p>  \u0422\u043e \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c:  <\/p>\n<table>\n<tr>\n<th>x<\/th>\n<th>y<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>Text 1<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>Text 2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>Text 3<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>Text 4<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>Text 5<\/td>\n<\/tr>\n<\/table>\n<p>  \u0422.\u0435. \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0441\u044f INTERSECT, \u0430 \u043f\u043e\u0441\u043b\u0435 EXCEPT. \u0425\u043e\u0442\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0443\u0434\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b\u0442\u044c \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u0442.\u0435. \u0438\u0434\u0442\u0438 \u0441\u0432\u0435\u0440\u0445\u0443-\u0432\u043d\u0438\u0437.<\/p>\n<p>  \u042f \u0440\u0435\u0434\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u044d\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u0430 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0434\u0443\u043c\u0430\u0442\u044c \u043d\u0435 \u0433\u0430\u0434\u0430\u0442\u044c, \u0432 \u043a\u0430\u043a\u043e\u0439 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0441\u0442\u0438 \u043e\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u043a\u043e\u0431\u043e\u043a \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043a\u0430\u0436\u0435\u043c, \u0447\u0442\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c EXCEPT, \u0430 \u043f\u043e\u0442\u043e\u043c INTERSECT:<\/p>\n<pre><code class=\"sql\">(   SELECT T1 x,T2 y   FROM TopTable    EXCEPT    SELECT B1,B2   FROM BottomTable )  INTERSECT  SELECT N1,N2 FROM NextTable <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>x<\/th>\n<th>y<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>Text 1<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>Text 4<\/td>\n<\/tr>\n<\/table>\n<p>  \u0412\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0442\u043e, \u0447\u0442\u043e \u0438 \u0445\u043e\u0442\u0435\u043b.<\/p>\n<p>  \u042f \u043d\u0435 \u0437\u043d\u0430\u044e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0421\u0423\u0411\u0414, \u043d\u043e \u0435\u0441\u043b\u0438 \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n<pre><code class=\"sql\">SELECT x,y FROM   (     SELECT T1 x,T2 y     FROM TopTable      EXCEPT      SELECT B1,B2     FROM BottomTable   ) q  INTERSECT  SELECT N1,N2 FROM NextTable <\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 ORDER BY \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u043d\u0430\u0431\u043e\u0440\u0443:<\/p>\n<pre><code class=\"sql\">SELECT T1 x,T2 y FROM TopTable  UNION ALL  SELECT B1,B2 FROM BottomTable    UNION ALL  SELECT B1,B2 FROM BottomTable    ORDER BY x DESC <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0437\u0434\u0435\u0441\u044c \u0443\u0434\u043e\u0431\u043d\u0435\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c \u043a\u043e\u043b\u043e\u043d\u043a\u0438, \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435.<\/p>\n<p>  \u0421\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043f\u0440\u043e UNION-\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u044f \u0432\u0440\u043e\u0434\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b, \u0435\u0441\u043b\u0438 \u0447\u0442\u043e \u043f\u043e\u0438\u0433\u0440\u0430\u0439\u0442\u0435 \u0441 UNION-\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e.<\/p>\n<blockquote><p><b>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435.<\/b> \u0412 \u0421\u0423\u0411\u0414 Oracle \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u0432\u0438\u0434\u044b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 EXCEPT, \u0442\u0430\u043c \u043e\u043d\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f MINUS.<\/p><\/blockquote>\n<h2>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h2>\n<p>  \u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u044f \u043e\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0442.\u043a. \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438.<\/p>\n<p>  \u041a\u043e\u0441\u0432\u0435\u043d\u043d\u043e \u043c\u044b \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u0431\u043b\u043e\u043a\u0435 FROM. \u0422\u0430\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0439 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u043f\u043e \u0441\u0443\u0442\u0438 \u0438\u0433\u0440\u0430\u0435\u0442 \u0440\u043e\u043b\u044c \u043d\u043e\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u0414\u0443\u043c\u0430\u044e, \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0441\u043c\u044b\u0441\u043b\u0430 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430. \u041f\u0440\u043e\u0441\u0442\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\u043c 2-\u0445 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432:<\/p>\n<pre><code class=\"sql\">SELECT q1.x1,q1.y1,q2.x2,q2.y2 FROM   (     SELECT T1 x1,T2 y1     FROM TopTable      EXCEPT      SELECT B1,B2     FROM BottomTable   ) q1 JOIN   (     SELECT T1 x2,T2 y2     FROM TopTable      EXCEPT      SELECT N1,N2     FROM NextTable   ) q2 ON q1.x1=q2.x2 <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0441\u0440\u0430\u0437\u0443, \u0442\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0439\u0442\u0435 \u0442\u0430\u043a\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043f\u043e \u0447\u0430\u0441\u0442\u044f\u043c. \u0422.\u0435. \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u00abq1\u00bb, \u043f\u043e\u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u00abq2\u00bb, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e JOIN \u043d\u0430\u0434 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u00abq1\u00bb \u0438 \u00abq2\u00bb.<\/p>\n<h2>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f WITH<\/h2>\n<p>  \u042d\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438.<\/p>\n<p>  \u0421\u0440\u0430\u0432\u043d\u0438\u043c:<\/p>\n<pre><code class=\"sql\">SELECT q1.x1,q1.y1,q2.x2,q2.y2 FROM   (     SELECT T1 x1,T2 y1     FROM TopTable      EXCEPT      SELECT B1,B2     FROM BottomTable   ) q1 JOIN   (     SELECT T1 x2,T2 y2     FROM TopTable      EXCEPT      SELECT N1,N2     FROM NextTable   ) q2 ON q1.x1=q2.x2 <\/code><\/pre>\n<p>  \u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 WITH:<\/p>\n<pre><code class=\"sql\">WITH q1 AS(     SELECT T1 x1,T2 y1     FROM TopTable      EXCEPT      SELECT B1,B2     FROM BottomTable ), q2 AS(     SELECT T1 x2,T2 y2     FROM TopTable      EXCEPT      SELECT N1,N2     FROM NextTable )  -- \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u043c SELECT q1.x1,q1.y1,q2.x2,q2.y2 FROM q1 JOIN q2 ON q1.x1=q2.x2 <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u043c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u044b \u0438 \u043f\u043e\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u044b \u0432 \u0431\u043b\u043e\u043a\u0435 WITH, \u0447\u0442\u043e \u0434\u0430\u043b\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c.<\/p>\n<p>  \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u0442\u0430\u043a \u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438, \u0433\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 ViewEmployeesInfo:<\/p>\n<pre><code class=\"sql\">CREATE VIEW ViewEmployeesInfo AS SELECT   emp.*, -- \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435 \u043f\u043e\u043b\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b Employees   dep.Name DepartmentName, -- \u043a \u044d\u0442\u0438\u043c \u043f\u043e\u043b\u044f\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u0435 Name \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Departments   pos.Name PositionName -- \u0438 \u0435\u0449\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u0435 Name \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Positions FROM Employees emp LEFT JOIN Departments dep ON emp.DepartmentID=dep.ID LEFT JOIN Positions pos ON emp.PositionID=pos.ID <\/code><\/pre>\n<p>  \u0418 \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0434\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435:<\/p>\n<pre><code class=\"sql\">SELECT   DepartmentName,   COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount,   AVG(Salary) SalaryAvg FROM ViewEmployeesInfo emp GROUP BY DepartmentID,DepartmentName ORDER BY DepartmentName <\/code><\/pre>\n<p>  \u041f\u043e \u0441\u0443\u0442\u0438 WITH \u0434\u0430\u0435\u0442 \u043d\u0430\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0438\u0437 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435, \u0442.\u0435. \u0441\u043c\u044b\u0441\u043b \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435:<\/p>\n<pre><code class=\"sql\">WITH cteEmployeesInfo AS(   SELECT     emp.*, -- \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435 \u043f\u043e\u043b\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b Employees     dep.Name DepartmentName, -- \u043a \u044d\u0442\u0438\u043c \u043f\u043e\u043b\u044f\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u0435 Name \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Departments     pos.Name PositionName -- \u0438 \u0435\u0449\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u0435 Name \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Positions   FROM Employees emp   LEFT JOIN Departments dep ON emp.DepartmentID=dep.ID   LEFT JOIN Positions pos ON emp.PositionID=pos.ID ) SELECT   DepartmentName,   COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount,   AVG(Salary) SalaryAvg FROM cteEmployeesInfo emp GROUP BY DepartmentID,DepartmentName ORDER BY DepartmentName <\/code><\/pre>\n<p>  \u0422\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0442.\u043a. \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0411\u0414. \u0422\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u044b\u0439 \u0432 \u0431\u043b\u043e\u043a\u0435 WITH \u0432\u0438\u0434\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430.<\/p>\n<blockquote><p><b>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 WITH \u043f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 CTE-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438:<\/b><br \/>  \u041e\u0431\u0449\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f (CTE \u2014 Common Table Expressions) \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043e\u0431\u044a\u0435\u043c \u043a\u043e\u0434\u0430, \u0435\u0441\u043b\u0438 \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u043e\u0434\u043d\u0438\u043c \u0438 \u0442\u0435\u043c \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c. CTE \u0438\u0433\u0440\u0430\u0435\u0442 \u0440\u043e\u043b\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438, \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u044a\u0435\u043a\u0442 \u0441\u0445\u0435\u043c\u044b.<\/p>\n<p>  \u0423 CTE \u0435\u0441\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u043d\u043e \u0432\u0430\u0436\u043d\u043e\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0441 \u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441.  <\/p><\/blockquote>\n<p>  \u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u041e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u043c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0438\u0445 \u043f\u043e\u0434\u0447\u0438\u043d\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0443 (\u0435\u0441\u043b\u0438 \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u0443 \u043d\u0430\u0441 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 Employees \u043a\u043b\u044e\u0447, \u0441\u0441\u044b\u043b\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043d\u0430 \u044d\u0442\u0443 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0443).<\/p>\n<pre><code class=\"sql\">WITH cteEmpl AS(   SELECT ID,CAST(Name AS nvarchar(300)) Name,1 EmpLevel   FROM Employees   WHERE ManagerID IS NULL -- \u0432\u0441\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0442 \u0432\u044b\u0448\u0435\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e    UNION ALL    SELECT emp.ID,CAST(SPACE(cte.EmpLevel*5)+emp.Name AS nvarchar(300)),cte.EmpLevel+1   FROM Employees emp   JOIN cteEmpl cte ON emp.ManagerID=cte.ID ) SELECT * FROM cteEmpl <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>EmpLevel<\/th>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<td>_____\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>_____\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>1005<\/td>\n<td>_____\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u043e\u0432 \u0410.\u0410.<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>1001<\/td>\n<td>__________\u041f\u0435\u0442\u0440\u043e\u0432 \u041f.\u041f.<\/td>\n<td>3<\/td>\n<\/tr>\n<tr>\n<td>1004<\/td>\n<td>__________\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<td>3<\/td>\n<\/tr>\n<\/table>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0431\u0435\u043b\u044b \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u044b \u0437\u043d\u0430\u043a\u0430\u043c\u0438 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c, \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u0430 \u044f \u043d\u0435 \u0431\u0443\u0434\u0443. \u042f \u0441\u0447\u0438\u0442\u0430\u044e, \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u0430\u044f \u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445, \u0438 \u043e\u043d\u0430 \u043f\u043e\u043a\u0430 \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0438 \u043a \u0447\u0435\u043c\u0443 \u0438\u043c. \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044e \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u0443\u0432\u0435\u0440\u0435\u043d\u043e \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u0441\u0435\u043c\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u0431\u0435\u0437 \u0434\u0430\u043d\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043b\u044c\u0448\u0435 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0441\u0442\u043e\u0438\u0442. \u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u0437\u043d\u0430\u043d\u0438\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0432\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043b\u044e\u0431\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438.<\/p>\n<h2>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440 \u043f\u0440\u043e \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b<\/h2>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0435\u0449\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u043d\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u0430 \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430.<\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u044f \u0443\u0436\u0435 \u043d\u0435 \u0431\u0443\u0434\u0443 \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0433\u043b\u0443\u0431\u043b\u044f\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435, \u0442.\u043a. \u043a \u044d\u0442\u043e\u043c\u0443 \u044d\u0442\u0430\u043f\u0443 \u0432\u044b \u0443\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u043b\u0438 \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043c\u044b\u0441\u043b\u0438\u0442\u044c \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443\u0439\u0442\u0435\u0441\u044c, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0439\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438 \u043f\u044b\u0442\u0430\u0439\u0442\u0435\u0441\u044c \u0438 \u043f\u043e\u043d\u044f\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0443\u0432\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u0435\u0431\u0435.<\/p>\n<h2>\u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u043b\u043e\u043a\u0435 SELECT<\/h2>\n<p>  \u0412\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u043e\u0442\u0447\u0435\u0442\u0443:<\/p>\n<pre><code class=\"sql\">SELECT   DepartmentID,   COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount,   AVG(Salary) SalaryAvg -- \u043f\u043b\u044e\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 FROM Employees GROUP BY DepartmentID <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u0434\u0435\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c:<\/p>\n<pre><code class=\"sql\">SELECT   \/*     \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c     \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443     \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435   *\/   (SELECT Name FROM Departments dep WHERE dep.ID=emp.DepartmentID) DepartmentName,    COUNT(DISTINCT PositionID) PositionCount,   COUNT(*) EmplCount,   SUM(Salary) SalaryAmount,   AVG(Salary) SalaryAvg FROM Employees emp -- \u0437\u0430\u0434\u0430\u0435\u043c \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c GROUP BY DepartmentID ORDER BY DepartmentName <\/code><\/pre>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 (SELECT Name FROM Departments dep WHERE dep.ID=emp.DepartmentID) \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f 4 \u0440\u0430\u0437\u0430, \u0442.\u0435. \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f emp.DepartmentID<\/p>\n<p>  \u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u043e\u0434\u043d\u0443 \u043a\u043e\u043b\u043e\u043d\u043a\u0443. \u0415\u0441\u043b\u0438 \u0432 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u043e\u043a, \u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0432 \u043d\u0435\u043c \u043b\u0438\u0431\u043e TOP, \u043b\u0438\u0431\u043e \u043a\u0430\u043a\u0443\u044e-\u043d\u0438\u0431\u0443\u0434\u044c \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0447\u0442\u043e\u0431\u044b \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u0430 ID \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430:<\/p>\n<pre><code class=\"sql\">SELECT   ID,   Name,   -- \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 1\u0430 - \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c ID \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430   (SELECT MAX(ID) FROM Employees emp WHERE emp.DepartmentID=dep.ID) LastEmpID_var1,   -- \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 1\u0431 - \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c ID \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430   (SELECT TOP 1 ID FROM Employees emp WHERE emp.DepartmentID=dep.ID ORDER BY ID DESC) LastEmpID_var2,   -- \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 2 - \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u043c\u044f \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430   (SELECT TOP 1 Name FROM Employees emp WHERE emp.DepartmentID=dep.ID ORDER BY ID DESC) LastEmpName FROM Departments dep <\/code><\/pre>\n<p>  \u041d\u0435 \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u0430\u0432\u0434\u0430 \u0432\u0435\u0434\u044c? \u0422.\u043a. \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u043f\u043e 4 \u0440\u0430\u0437\u0430, \u0438\u0442\u043e\u0433\u043e 12 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f 12 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u044f \u0431\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u0442\u044c \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0432 \u0441\u0430\u043c\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0442.\u043a. \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u0442.\u043a. \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043c\u043e\u0436\u0435\u0442 \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u043d\u0438\u0437\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0435\u043c\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430.<\/p>\n<h2>\u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439 APPLY<\/h2>\n<p>  \u0412 MS SQL \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430:<\/p>\n<pre><code class=\"sql\">SELECT   ID,   Name,   -- \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 1 - \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c ID \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430   (SELECT TOP 1 ID FROM Employees emp WHERE emp.DepartmentID=dep.ID ORDER BY ID DESC) LastEmpID,   -- \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 2 - \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u043c\u044f \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430   (SELECT TOP 1 Name FROM Employees emp WHERE emp.DepartmentID=dep.ID ORDER BY ID DESC) LastEmpName FROM Departments dep <\/code><\/pre>\n<p>  \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e APPLY, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u043c\u0435\u0435\u0442 2 \u0444\u043e\u0440\u043c\u044b \u2013 CROSS APPLY \u0438 OUTER APPLY.<\/p>\n<p>  \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f APPLY \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u0430\u043a \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438 ID \u0438 Name \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u0430:<\/p>\n<pre><code class=\"sql\">SELECT   ID,   Name,   empInfo.LastEmpID,   empInfo.LastEmpName FROM Departments dep CROSS APPLY   (     SELECT TOP 1 ID LastEmpID,Name LastEmpName     FROM Employees emp     WHERE emp.DepartmentID=dep.ID     ORDER BY emp.ID DESC   ) empInfo <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>LastEmpID<\/th>\n<th>LastEmpName<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<\/tr>\n<\/table>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u043b\u043e\u043a\u0430 CROSS APPLY \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Departments. \u0415\u0441\u043b\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0435 \u0432\u0435\u0440\u043d\u0435\u0442, \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043e\u0442\u0434\u0435\u043b \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u044b \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Departments, \u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0444\u043e\u0440\u043c\u0443 \u044d\u0442\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 OUTER APPLY:<\/p>\n<pre><code class=\"sql\">SELECT   ID,   Name,   empInfo.LastEmpID,   empInfo.LastEmpName FROM Departments dep OUTER APPLY   (     SELECT TOP 1 ID LastEmpID,Name LastEmpName     FROM Employees emp     WHERE emp.DepartmentID=dep.ID     ORDER BY emp.ID DESC   ) empInfo <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>LastEmpID<\/th>\n<th>LastEmpName<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f<\/td>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>\u0411\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u044f<\/td>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>\u0418\u0422<\/td>\n<td>1004<\/td>\n<td>\u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432 \u041d.\u041d.<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433 \u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>\u041b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0430<\/td>\n<td>NULL<\/td>\n<td>NULL<\/td>\n<\/tr>\n<\/table>\n<p>  \u0412 \u043e\u0431\u0449\u0435\u043c, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445 \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0442\u0430\u043a \u0436\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430, \u0442.\u0435. \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430, \u043d\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u043d \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435, \u0447\u0435\u043c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u0421 \u043f\u0440\u043e\u0447\u0438\u043c\u0438 \u0434\u0435\u0442\u0430\u043b\u044f\u043c\u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f APPLY, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u043a, \u044f \u0434\u0443\u043c\u0430\u044e \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u041b\u0430\u0434\u043d\u043e, \u0440\u0430\u0437 \u0443\u0436 \u0437\u0430\u0433\u043e\u0432\u043e\u0440\u0438\u043b \u043e\u0431 \u044d\u0442\u043e\u043c, \u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0431\u043e\u0440\u0430:<\/p>\n<pre><code class=\"sql\">SELECT dep.ID,dep.Name,pos.PositionID,pos.PositionName FROM Departments dep CROSS APPLY   (     SELECT ID PositionID,Name PositionName     FROM Positions   ) pos <\/code><\/pre>\n<h2>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0431\u043b\u043e\u043a\u0435 WHERE<\/h2>\n<p>  \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043e\u0442\u0434\u0435\u043b\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0447\u0438\u0441\u043b\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432:<\/p>\n<pre><code class=\"sql\">SELECT * FROM Departments dep WHERE (SELECT COUNT(*) FROM Employees emp WHERE emp.DepartmentID=dep.ID)&gt;2 <\/code><\/pre>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f, \u0442\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0442.\u0435. \u0442\u0430\u043a \u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0438 \u0432 \u0431\u043b\u043e\u043a\u0435 SELECT.<\/p>\n<h3>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 EXISTS \u0438 NOT EXISTS<\/h3>\n<p>  \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0435\u0441\u0442\u044c \u043b\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044e \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0435:<\/p>\n<pre><code class=\"sql\">-- \u043e\u0442\u0434\u0435\u043b\u044b \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0435\u0441\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a SELECT * FROM Departments dep WHERE EXISTS(SELECT * FROM Employees emp WHERE emp.DepartmentID=dep.ID) <\/code><\/pre>\n<pre><code class=\"sql\">-- \u043e\u0442\u0434\u0435\u043b\u044b \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 SELECT * FROM Departments dep WHERE NOT EXISTS(SELECT * FROM Employees emp WHERE emp.DepartmentID=dep.ID) <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u2013 EXISTS \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 True, \u0435\u0441\u043b\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443, \u0438 False, \u0435\u0441\u043b\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a. NOT EXISTS \u2013 \u0438\u043d\u0432\u0435\u0440\u0441\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430.<\/p>\n<h3>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f IN \u0438 NOT IN \u0441 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c<\/h3>\n<p>  \u0414\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0438 IN \u0441 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u0422\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0441 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u044d\u0442\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439:<\/p>\n<pre><code class=\"sql\">-- \u043e\u0442\u0434\u0435\u043b\u044b \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 SELECT * FROM Departments WHERE ID IN(SELECT DISTINCT DepartmentID FROM Employees WHERE DepartmentID IS NOT NULL) <\/code><\/pre>\n<pre><code class=\"sql\">-- \u043e\u0442\u0434\u0435\u043b\u044b \u0433\u0434\u0435 \u043d\u0435\u0442 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 SELECT * FROM Departments WHERE ID NOT IN(SELECT DISTINCT DepartmentID FROM Employees WHERE DepartmentID IS NOT NULL) <\/code><\/pre>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u043b NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (DepartmentID IS NOT NULL) \u0432 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0435. NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u0430\u043a \u0436\u0435 \u043e\u043f\u0430\u0441\u043d\u044b \u2013 \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 IN \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438.<\/p>\n<h3>\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0433\u0440\u0443\u043f\u043f\u043e\u0432\u043e\u0433\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f ALL \u0438 ANY<\/h3>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b, \u043e\u0447\u0435\u043d\u044c \u0445\u0438\u0442\u0440\u044b\u0435 \u0438 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e. \u0412\u043e\u043e\u0431\u0449\u0435 \u0432 \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u044f \u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0435\u0434\u043a\u043e, \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b IN \u0438\u043b\u0438 EXISTS.<\/p>\n<p>  \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b ALL \u0438 ANY \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0442\u0435\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435, \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0435\u0440\u043d\u0443\u043b \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441. \u041e\u043d\u0438, \u043a\u0430\u043a \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 EXISTS \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438. <\/p>\n<p>  \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043e\u0442\u0434\u0435\u043b\u0435 \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0417\u041f \u0431\u043e\u043b\u044c\u0448\u0435 \u0417\u041f \u0432\u0441\u0435\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u0432 \u044d\u0442\u043e\u043c \u0436\u0435 \u043e\u0442\u0434\u0435\u043b\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c ALL:<\/p>\n<pre><code class=\"sql\">SELECT ID,Name,DepartmentID,Salary FROM Employees e1 WHERE e1.Salary&gt;ALL(                       SELECT e2.Salary                       FROM Employees e2                       WHERE e2.DepartmentID=e1.DepartmentID -- \u0443\u0447\u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0442\u0434\u0435\u043b\u0430                         AND e2.ID&lt;&gt;e1.ID -- \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u0436\u0435 \u0417\u041f                         AND e2.Salary IS NOT NULL -- \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f                     ) <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>DepartmentID<\/th>\n<th>Salary<\/th>\n<\/tr>\n<tr>\n<td>1000<\/td>\n<td>\u0418\u0432\u0430\u043d\u043e\u0432 \u0418.\u0418.<\/td>\n<td>1<\/td>\n<td>5000<\/td>\n<\/tr>\n<tr>\n<td>1002<\/td>\n<td>\u0421\u0438\u0434\u043e\u0440\u043e\u0432 \u0421.\u0421.<\/td>\n<td>2<\/td>\n<td>2500<\/td>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>3<\/td>\n<td>2000<\/td>\n<\/tr>\n<tr>\n<td>1005<\/td>\n<td>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u043e\u0432 \u0410.\u0410.<\/td>\n<td>NULL<\/td>\n<td>2000<\/td>\n<\/tr>\n<\/table>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e e1.Salary \u0431\u043e\u043b\u044c\u0448\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 e2.Salary, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0435\u0440\u043d\u0443\u043b \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441.<\/p>\n<p>  \u041a\u0430\u043a \u0434\u0443\u043c\u0430\u0435\u0442\u0435, \u043f\u043e\u0447\u0435\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u0432\u0435\u0440\u043d\u0443\u043b\u0438\u0441\u044c \u0434\u0430\u0436\u0435 \u0442\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435 \u0432\u0435\u0440\u043d\u0443\u043b \u043d\u0438 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438? \u0410 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043b\u043e\u0433\u0438\u043a\u0430 \u0442\u0430\u043a\u0430\u044f \u2013 \u043d\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u043d\u0435 \u0441 \u0447\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u044f \u0438 \u0442\u0430\u043a \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0445. ))) \u0412\u043e\u0442 \u0442\u0430\u043a\u0430\u044f \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u044c \u0437\u0434\u0435\u0441\u044c \u0441\u043a\u0440\u044b\u0442\u0430.<\/p>\n<p>  \u0414\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 ALL \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c NOT EXISTS:<\/p>\n<pre><code class=\"sql\">SELECT ID,Name,DepartmentID,Salary FROM Employees e1 WHERE NOT EXISTS(                     SELECT *                     FROM Employees e2                     WHERE e2.DepartmentID=e1.DepartmentID -- \u0443\u0447\u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0442\u0434\u0435\u043b\u0430                       AND e2.Salary&gt;e1.Salary -- \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0417\u041f \u0431\u043e\u043b\u044c\u0448\u0435 \u0417\u041f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430                 ) <\/code><\/pre>\n<p>  \u0422.\u0435. \u043c\u044b \u0442\u0443\u0442 \u0432\u044b\u0440\u0430\u0437\u0438\u043b\u0438 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u00ab\u0412\u0435\u0440\u043d\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0442 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0438\u0437 \u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0442\u0434\u0435\u043b\u0430 \u0441 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0417\u041f \u0447\u0435\u043c \u0443 \u043d\u0435\u0433\u043e\u00bb.<\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443 ALL \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  \u0422\u0430\u043a \u0436\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0434\u043b\u044f ALL \u0432\u0430\u0436\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c NULL-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0438\u043d\u0430\u0447\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c. \u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0439\u0442\u0435 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043b\u043e\u0433\u0438\u043a\u0430 ALL \u043b\u043e\u0433\u0438\u043a\u043e\u0439 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 AND, \u0442.\u0435. \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 (Salary&gt;1000 AND Salary&gt;1500 AND Salary&gt;NULL) \u0432\u0435\u0440\u043d\u0435\u0442 NULL.<\/p>\n<p>  \u0410 \u0432\u043e\u0442 \u0441 ANY (\u043e\u043d \u0436\u0435 SOME) \u0431\u0443\u0434\u0435\u0442 \u043f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443:<\/p>\n<pre><code class=\"sql\">SELECT ID,Name,DepartmentID,Salary FROM Employees e1 WHERE e1.Salary&gt;ANY( -- ANY = SOME                       SELECT e2.Salary                       FROM Employees e2                       WHERE e2.DepartmentID=e1.DepartmentID -- \u0443\u0447\u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0442\u0434\u0435\u043b\u0430                         AND e2.ID&lt;&gt;e1.ID -- \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u0436\u0435 \u0417\u041f                     ) <\/code><\/pre>\n<p>  <\/p>\n<table>\n<tr>\n<th>ID<\/th>\n<th>Name<\/th>\n<th>DepartmentID<\/th>\n<th>Salary<\/th>\n<\/tr>\n<tr>\n<td>1003<\/td>\n<td>\u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410.<\/td>\n<td>3<\/td>\n<td>2000<\/td>\n<\/tr>\n<\/table>\n<p>  C \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c ANY \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0440\u043d\u0443\u043b \u0437\u0430\u043f\u0438\u0441\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u043d\u0430 \u043b\u044e\u0431\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f. \u0422.\u043a. \u0432\u043e \u0432\u0441\u0435\u0445 \u043e\u0442\u0434\u0435\u043b\u0430\u0445 \u0441\u0438\u0434\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0443, \u043a\u0440\u043e\u043c\u0435 \u0418\u0422-\u043e\u0442\u0434\u0435\u043b\u0430, \u0442\u043e \u0432\u0435\u0440\u043d\u0443\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0410\u043d\u0434\u0440\u0435\u0435\u0432 \u0410.\u0410., \u0447\u044c\u044e \u0417\u041f \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0441 \u0417\u041f \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0442\u0434\u0435\u043b\u0430. \u0422.\u0435. \u043c\u044b \u0432\u044b\u0442\u0430\u0449\u0438\u043b\u0438 \u0437\u0434\u0435\u0441\u044c \u0442\u0435\u0445, \u0447\u044c\u044f \u0417\u041f \u0431\u043e\u043b\u044c\u0448\u0435 \u043b\u044e\u0431\u043e\u0439 \u0417\u041f \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0442\u0434\u0435\u043b\u0430.<\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u044c \u0437\u0434\u0435\u0441\u044c ANY \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 EXISTS:<\/p>\n<pre><code class=\"sql\">SELECT ID,Name,DepartmentID,Salary FROM Employees e1 WHERE EXISTS(               SELECT *               FROM Employees e2               WHERE e2.DepartmentID=e1.DepartmentID -- \u0443\u0447\u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0442\u0434\u0435\u043b\u0430                 AND e2.Salary&lt;e1.Salary -- \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0435\u0441\u0442\u044c \u043b\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u0441 \u043c\u0435\u043d\u044c\u0448\u0435\u0439 \u0417\u041f \u0447\u0435\u043c \u0443 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430             ) <\/code><\/pre>\n<p>  \u0421\u043c\u044b\u0441\u043b \u0437\u0434\u0435\u0441\u044c \u0441\u0442\u0430\u043b \u00ab\u0435\u0441\u0442\u044c \u043b\u0438 \u0445\u043e\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u0443 \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0417\u041f \u043d\u0438\u0436\u0435 \u0417\u041f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u00bb.<\/p>\n<p>  \u0412 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043f\u043e\u0447\u0435\u043c\u0443 ANY \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043b\u043e\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  \u041d\u0430\u043b\u0438\u0447\u0438\u0435 NULL-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0437\u0434\u0435\u0441\u044c \u043d\u0435 \u0442\u0430\u043a \u043e\u043f\u0430\u0441\u043d\u043e, \u0442.\u043a. \u043c\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c \u043d\u0430 \u043b\u044e\u0431\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0439\u0442\u0435 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043b\u043e\u0433\u0438\u043a\u0430 ANY \u043b\u043e\u0433\u0438\u043a\u043e\u0439 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 OR, \u0442.\u0435. \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 (Salary&gt;1000 OR Salary&gt;1500 OR Salary&gt;NULL) \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/p>\n<p>  \u0415\u0441\u043b\u0438 ANY \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e, \u0442\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 IN:<\/p>\n<pre><code class=\"sql\">SELECT * FROM Departments WHERE ID=ANY(SELECT DISTINCT DepartmentID FROM Employees) <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u0441\u0435 \u043e\u0442\u0434\u0435\u043b\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0435\u0441\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e:<\/p>\n<pre><code class=\"sql\">SELECT * FROM Departments WHERE ID IN(SELECT DISTINCT DepartmentID FROM Employees) <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435 ALL \u0438 ANY \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432. \u041d\u043e \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u043e\u043b\u0435\u0435 \u0447\u0438\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0442\u044b \u043a\u0430\u0440\u0442\u0438\u043d\u044b \u0438\u0445 \u0442\u043e\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u0437\u043d\u0430\u0442\u044c \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f\u0445. \u0422.\u0435. \u043f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0433\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0430\u0441 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u00ab\u0432\u044b\u0431\u0435\u0440\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0417\u041f \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0445\u00bb:<\/p>\n<pre><code class=\"sql\">SELECT * FROM Employees e1 WHERE e1.Salary&gt;ALL(SELECT e2.Salary FROM Employees e2 WHERE e2.ID&lt;&gt;e1.ID AND e2.Salary IS NOT NULL) <\/code><\/pre>\n<p>  \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u044f \u0441\u043c\u044b\u0441\u043b \u043d\u0430 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u00ab\u0432\u044b\u0431\u0435\u0440\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0442 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0441 \u0417\u041f \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u0443 \u043d\u0435\u0433\u043e\u00bb:<\/p>\n<pre><code class=\"sql\">SELECT * FROM Employees e1 WHERE NOT EXISTS(SELECT * FROM Employees e2 WHERE e2.Salary&gt;e1.Salary) <\/code><\/pre>\n<p>  \u042d\u0442\u043e \u0435\u0449\u0435 \u0440\u0430\u0437 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u044f\u0437\u044b\u043a SQL \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0441\u044f \u043a\u0430\u043a \u044f\u0437\u044b\u043a \u0434\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u043c\u043e\u0433\u043b\u0438 \u0432\u044b\u0440\u0430\u0436\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043c\u044b\u0441\u043b\u0438 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438.<\/p>\n<h2>\u0415\u0449\u0435 \u043f\u0430\u0440\u0430 \u0441\u043b\u043e\u0432 \u043f\u0440\u043e \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b<\/h2>\n<p>  \u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0431\u043b\u043e\u043a\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0431\u043b\u043e\u043a\u0435 HAVING, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445 CASE. \u0412 \u043e\u0431\u0449\u0435\u043c, \u0442\u0443\u0442 \u0443\u0436\u0435 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u0432\u0430\u0442\u0438\u0442 \u0432\u0430\u0448\u0435\u0439 \u0444\u0430\u043d\u0442\u0430\u0437\u0438\u0438.<\/p>\n<p>  \u041d\u043e \u044f \u0431\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0440\u0435\u0448\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 SELECT, \u0438, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u0442\u044c \u043a \u043f\u043e\u043c\u043e\u0449\u0438 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u0435 \u044f \u0443\u0434\u0435\u043b\u0438\u043b \u0446\u0435\u043b\u044b\u0445 \u0442\u0440\u0438 \u0447\u0430\u0441\u0442\u0438 \u043d\u0430 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437\u0434\u0435\u043b \u0432\u044b\u0434\u0435\u043b\u0438\u043b \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c. \u042f \u0441\u0447\u0438\u0442\u0430\u044e, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 SELECT \u0441 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0442.\u043a. \u0437\u043d\u0430\u044f, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u043d\u043e \u043d\u0435 \u0432\u043b\u0430\u0434\u0435\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438, \u043d\u043e\u0432\u0438\u0447\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u0433\u043e\u0440\u043e\u0434\u0438\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0442\u0440\u0435\u0445\u044d\u0442\u0430\u0436\u043d\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 (\u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445-\u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u0430\u043c \u043f\u043e\u0442\u043e\u043c \u0431\u044b\u0432\u0430\u0435\u0442 \u0442\u0440\u0443\u0434\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c. \u041d\u043e \u0435\u0441\u043b\u0438 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u0442\u043e \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u0437\u043d\u0430\u044f \u043e\u0441\u043d\u043e\u0432\u044b \u0432\u0441\u0435 \u044d\u0442\u0438 \u0442\u0440\u0435\u0445\u044d\u0442\u0430\u0436\u043d\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0438 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043e\u043a.<\/p>\n<p>  \u042f \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u044e, \u0447\u0442\u043e \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u2013 \u044d\u0442\u043e \u043f\u043b\u043e\u0445\u043e, \u0442.\u043a. \u0438\u043d\u043e\u0433\u0434\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043d\u0438\u0445 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u044f\u0449\u043d\u043e. \u042f \u0433\u043e\u0432\u043e\u0440\u044e \u0437\u0434\u0435\u0441\u044c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0443\u0447\u0438\u0442\u0441\u044f \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438, \u0432\u0435\u0434\u044c \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0442\u043e\u0436\u0435 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u0438\u0445 \u043d\u0438\u0445. \u0410 \u0442\u0430\u043a \u0432\u0441\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0445\u043e\u0440\u043e\u0448\u0438, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e.<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u0412\u043e\u0442 \u043c\u044b \u0438 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 SELECT. \u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0442\u043e \u0438\u0445 \u043d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0435 \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0438 \u0443\u043c\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043c\u0438 \u0441\u043e\u043e\u0431\u0449\u0430, \u0434\u0430\u0435\u0442 \u0432\u0430\u043c \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043b\u044e\u0431\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0445\u0440\u0430\u043d\u044f\u0449\u0435\u0439\u0441\u044f \u0432 \u0420\u0411\u0414.<\/p>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d, \u043e\u043f\u0438\u0440\u0430\u044f\u0441\u044c \u043d\u0430 \u0441\u0432\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043e\u043f\u044b\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u044f\u0437\u044b\u043a\u043e\u043c SQL, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 10 \u043b\u0435\u0442, \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0421\u0423\u0411\u0414 (\u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0421\u0423\u0411\u0414 Paradox). \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0443\u0447\u0435\u0431\u043d\u0438\u043a\u0435, \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u0441\u0443\u0442\u044c \u0432\u0441\u0435\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u044f\u0437\u044b\u043a\u0430 SQL \u0441\u043b\u0443\u0436\u0430\u0449\u0438\u0445 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u042f \u0441\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0434\u0430\u043d\u043d\u044b\u0439 \u0443\u0447\u0435\u0431\u043d\u0438\u043a \u0431\u044b\u043b \u043f\u043e\u043d\u044f\u0442\u0435\u043d \u0448\u0438\u0440\u043e\u043a\u043e\u043c\u0443 \u043a\u0440\u0443\u0433\u0443 \u043b\u044e\u0434\u0435\u0439, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0418\u0422-\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430\u043c. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0438 \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u0430\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0435 \u0448\u0430\u0433\u0438 \u0438\u043b\u0438 \u0436\u0435 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u043d\u0438\u0431\u0443\u0434\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u0430\u043c \u043d\u0435 \u0434\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u0440\u0430\u043d\u0435\u0435. \u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0432\u0441\u0435\u043c, \u043a\u0442\u043e \u0443\u0434\u0435\u043b\u0438\u043b \u0441\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u0441 \u044d\u0442\u0438\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c.<\/p>\n<p>  \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u0443\u0436\u0435 \u0432 \u043e\u0431\u0449\u0438\u0445 \u0447\u0435\u0440\u0442\u0430\u0445 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u0445 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043e\u0431\u0449\u0438\u0445 \u0447\u0435\u0440\u0442\u0430\u0445, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043a\u0430\u043a \u0438 \u0437\u043d\u0430\u043d\u0438\u0435 DDL, \u043d\u0443\u0436\u043d\u0430 \u043d\u0435 \u0432\u0441\u0435\u043c (\u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0418\u0422-\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430\u043c) \u2013 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043b\u044e\u0434\u0435\u0439 \u0438\u0437\u0443\u0447\u0430\u044e\u0442 SQL \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u0446\u0435\u043b\u044f\u0445 \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0431\u043e\u0440\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 SELECT. \u0414\u0443\u043c\u0430\u044e, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439. \u0412\u0441\u0435 \u0437\u043d\u0430\u043d\u0438\u044f, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430, \u043d\u0430\u043c \u0442\u0430\u043a \u0436\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438, \u0442.\u043a. \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0443\u0436\u043d\u043e \u0443\u0432\u0435\u0440\u0435\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 SELECT. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c \u043a\u0430\u043a \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0443 \u0441\u0442\u0440\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0442\u0430\u043a \u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 SELECT \u0438 \u0434\u0443\u043c\u0430\u044e \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u0442\u0435\u043c \u043b\u044e\u0434\u044f\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437\u0443\u0447\u0430\u044e\u0442 SQL \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0437-\u0437\u0430 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 SELECT.<\/p>\n<p>  \u0414\u043b\u044f \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043c\u0430\u043b\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0442\u0435\u043e\u0440\u0438\u044e, \u043d\u0443\u0436\u043d\u043e \u0435\u0449\u0435 \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u043e\u0432\u0430\u0442\u044c\u0441\u044f. \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u044f \u0431\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b \u0432\u0430\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0441\u0430\u0439\u0442 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u00abSQL-EX.RU \u2013 \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u043e\u043c SQL\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043f\u0440\u0430\u043a\u0442\u0438\u043a\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0441\u0430\u043c\u044b\u0445 \u043a\u0430\u0432\u0435\u0440\u0437\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0430\u043c\u044b\u0445 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0437\u0430\u0434\u0430\u0447. \u0422\u0430\u043c \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0443\u0447\u0435\u0431\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u043f\u043e \u044f\u0437\u044b\u043a\u0443 SQL. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0442\u044f\u0433\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u043e\u0432\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0438 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442, \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u0430\u0448\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043d\u0430\u0432\u044b\u043a\u0438, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u043d\u0438\u0435 \u0442\u0435\u043e\u0440\u0438\u0438.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0432\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u043d\u0430\u0443\u0447\u0438\u0442\u0435\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u044f \u0431\u044b \u043f\u043e\u0441\u043e\u0432\u0435\u0442\u043e\u0432\u0430\u043b \u0432\u0430\u043c \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0437\u0443\u0447\u0438\u0442\u044c:  <\/p>\n<ul>\n<li>\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 OVER, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c:\n<ul>\n<li>\u0410\u0433\u0440\u0435\u0433\u0430\u0442\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (COUNT, SUM, MIN, MAX, AVG) \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f GROUP BY;<\/li>\n<li>\u0420\u0430\u043d\u0436\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: ROW_NUMBER(),RANK() \u0438 DENSE_RANK();<\/li>\n<li>\u0410\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: LAG() \u0438 LEAD(),FIRST_VALUE() \u0438 LAST_VALUE();<\/li>\n<\/ul>\n<\/li>\n<li>\u0418\u0437\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043f\u043e\u0434 \u0438\u0442\u043e\u0433\u0438: GROUP BY ROLLUP(\u2026), GROUP BY GROUPING SETS(\u2026), \u2026 \u0410 \u0442\u0430\u043a \u0436\u0435 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0446\u0435\u043b\u0435\u0439: GROUPING_ID() \u0438 GROUPING();<\/li>\n<li>\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 PIVOT, UNPIVOT.<\/li>\n<\/ul>\n<p>  \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u044d\u0442\u043e\u043c\u0443 \u0432\u044b \u043b\u0435\u0433\u043a\u043e \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442, \u0432 \u0442\u043e\u0439 \u0436\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 MSDN.<\/p>\n<p>  \u0423\u0434\u0430\u0447\u0438 \u0432 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0438.<\/p>\n<p>  \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442\u2026     \t<\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/256045\/\"> http:\/\/habrahabr.ru\/post\/256045\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<br \/>\n<h2>\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0447\u0430\u0441\u0442\u0438<\/h2>\n<p>  <\/p>\n<ul>\n<li>\u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f \u2014 <a href=\"http:\/\/habrahabr.ru\/post\/255361\/\">habrahabr.ru\/post\/255361<\/a><\/li>\n<li>\u0427\u0430\u0441\u0442\u044c \u0432\u0442\u043e\u0440\u0430\u044f \u2014 <a href=\"http:\/\/habrahabr.ru\/post\/255523\/\">habrahabr.ru\/post\/255523<\/a><\/li>\n<li>\u0427\u0430\u0441\u0442\u044c \u0442\u0440\u0435\u0442\u044c\u044f \u2014 <a href=\"http:\/\/habrahabr.ru\/post\/255825\/\">habrahabr.ru\/post\/255825<\/a><\/li>\n<\/ul>\n<h2>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c<\/h2>\n<p>  \u041c\u043d\u043e\u0433\u043e\u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b:  <\/p>\n<ul>\n<li>\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446 \u2013 JOIN<\/li>\n<li>\u0421\u0432\u044f\u0437\u044c \u0442\u0430\u0431\u043b\u0438\u0446 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 WHERE-\u0443\u0441\u043b\u043e\u0432\u0438\u044f<\/li>\n<li>\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u2013 UNION<\/li>\n<\/ul>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438:  <\/p>\n<ul>\n<li>\u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u0431\u043b\u043e\u043a\u0430\u0445 FROM, SELECT<\/li>\n<li>\u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 APPLY<\/li>\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f WITH<\/li>\n<li>\u041f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u0431\u043b\u043e\u043a\u0435 WHERE:<br \/> \n<ul>\n<li>\u0413\u0440\u0443\u043f\u043f\u043e\u0432\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u2014 ALL, ANY<\/li>\n<li>\u0423\u0441\u043b\u043e\u0432\u0438\u0435 EXISTS<\/li>\n<li>\u0423\u0441\u043b\u043e\u0432\u0438\u0435 IN<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-255533","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/255533","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=255533"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/255533\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=255533"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=255533"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=255533"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}