SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ

เช…เชญเซเชฏเชพเชธเช•เซเชฐเชฎเชจเซ€ เชถเชฐเซ‚เช†เชค เชชเชนเซ‡เชฒเชพเช‚ "MS SQL เชธเชฐเซเชตเชฐ เชกเซ‡เชตเชฒเชชเชฐ" เช…เชฎเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชฌเซ€เชœเซ‹ เช‰เชชเชฏเซ‹เช—เซ€ เช…เชจเซเชตเชพเชฆ เชคเซˆเชฏเชพเชฐ เช•เชฐเซเชฏเซ‹ เช›เซ‡.

เชกเซ‡เชŸเชพเชฌเซ‡เช เชชเซเชฐเซ‹เชซเซ‡เชถเชจเชฒเซเชธ เชฎเชพเชŸเซ‡ เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เช เช เชเช• เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชคเช•เชจเซ€เช• เช›เซ‡. เชนเซเช‚ เช† เช•เซเชทเซ‡เชคเซเชฐเชฎเชพเช‚ เชจเชตเซ€เชจเชคเชพเช“ เช…เชจเซ‡ เชจเชตเซ€ เชคเช•เชจเซ€เช•เซ‹ เชธเชพเชฅเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเช‚ เช›เซเช‚ เช…เชจเซ‡, เชฐเชฟเชฒเซ‡เชถเชจเชฒ เช…เชจเซ‡ NoSQL เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชนเซเช‚ เชœเซ‹เช‰เช‚ เช›เซเช‚ เช•เซ‡ เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ€ เชญเซ‚เชฎเชฟเช•เชพ เชตเชงเซเชจเซ‡ เชตเชงเซ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชฌเชจเซ€ เชฐเชนเซ€ เช›เซ‡. เชœเชŸเชฟเชฒ เช…เชงเชฟเช•เซเชฐเชฎเชฟเช• เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชฎเชพเชคเซเชฐ เชชเชฐเช‚เชชเชฐเชพเช—เชค เชกเซ‡เชŸเชพเชฌเซ‡เช เชœ เชฌเชฟเชจเช…เชธเชฐเช•เชพเชฐเช• เชจเชฅเซ€, เชชเชฃ NoSQL เชชเชฃ. เช˜เชฃเซ€เชตเชพเชฐ, เชœเซ‡เชฎ เชœเซ‡เชฎ เช•เชจเซ‡เช•เซเชถเชจ เชฒเซ‡เชตเชฒเชจเซ€ เชธเช‚เช–เซเชฏเชพ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซเช‚ เช•เชฆ เชตเชงเซ‡ เช›เซ‡ เชคเซ‡เชฎ เชคเซ‡เชฎ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เช˜เชŸเซ‡ เช›เซ‡. เช…เชจเซ‡ เชœเซ‡เชฎ เชœเซ‡เชฎ เชธเช‚เชฌเช‚เชงเซ‹ เชตเชงเซ เชœเชŸเชฟเชฒ เชฌเชจเชคเชพ เชœเชพเชฏ เช›เซ‡ เชคเซ‡เชฎ เชคเซ‡เชฎ JOIN เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชชเชฃ เชตเชงเซ‡ เช›เซ‡.

เช…เชฒเชฌเชคเซเชค, เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฎเซ‹เชกเชฒเชฎเชพเช‚ เชตเช‚เชถเชตเซ‡เชฒเซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‰เช•เซ‡เชฒเซ‹ เช›เซ‡ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค CTE เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡), เชชเชฐเช‚เชคเซ เช† เชนเชœเซ€ เชชเชฃ เช‰เช•เซ‡เชฒเซ‹ เช›เซ‡. เชคเซ‡ เชœ เชธเชฎเชฏเซ‡, SQL เชธเชฐเซเชตเชฐ เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชคเชฎเชจเซ‡ เชชเชฆเชพเชจเซเช•เซเชฐเชฎเชจเชพ เชฌเชนเซเชตเชฟเชง เชธเซเชคเชฐเซ‹เชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชกเซ‡เชŸเชพ เชฎเซ‰เชกเชฒ เช…เชจเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชฌเช‚เชจเซ‡ เชธเชฐเชณ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชคเซ‡เชฎเชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชตเชงเซ‡ เช›เซ‡. เช•เซ‹เชกเชจเซ€ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เช˜เชŸเชพเชกเซ‹ เชฅเชฏเซ‹ เช›เซ‡.

เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เช เช เชœเชŸเชฟเชฒ เชธเชฟเชธเซเชŸเชฎเซ‹เชจเซเช‚ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟเชคเซเชต เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เช…เชญเชฟเชตเซเชฏเช•เซเชค เชญเชพเชทเชพ เช›เซ‡. เชธเซ‹เชถเชฟเชฏเชฒ เชจเซ‡เชŸเชตเชฐเซเช•เซเชธ, เชเชจเซเชŸเซ€-เชซเซเชฐเซ‹เชก เชธเชฟเชธเซเชŸเชฎเซเชธ, เช†เชˆเชŸเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชตเชฟเชถเซเชฒเซ‡เชทเชฃ, เชธเชพเชฎเชพเชœเชฟเช• เชญเชฒเชพเชฎเชฃเซ‹, เช‰เชคเซเชชเชพเชฆเชจ เช…เชจเซ‡ เชธเชพเชฎเช—เซเชฐเซ€ เชญเชฒเชพเชฎเชฃเซ‹ เชœเซ‡เชตเชพ เช•เซเชทเซ‡เชคเซเชฐเซ‹เชฎเชพเช‚ เช† เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‰เชœเซ€ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ IT เช‰เชฆเซเชฏเซ‹เช—เชฎเชพเช‚ เชตเซเชฏเชพเชชเช•เชชเชฃเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡.

SQL เชธเชฐเซเชตเชฐเชฎเชพเช‚ เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เช เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชเชตเชพ เชธเช‚เชœเซ‹เช—เซ‹ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡ เชœเซเชฏเชพเช‚ เชกเซ‡เชŸเชพ เช–เซ‚เชฌ เชœ เชเช•เชฌเซ€เชœเชพ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเซ‹ เชนเซ‹เชฏ เช…เชจเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชธเช‚เชฌเช‚เชงเซ‹ เชงเชฐเชพเชตเซ‡ เช›เซ‡.

เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพ เชฎเซ‹เชกเชฒ

เช—เซเชฐเชพเชซ เช เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซเช“ (เชจเซ‹เชกเซเชธ) เช…เชจเซ‡ เชงเชพเชฐ (เชธเช‚เชฌเช‚เชงเซ‹, เชงเชพเชฐ) เชจเซ‹ เชธเชฎเซ‚เชน เช›เซ‡. เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซ เชเช•เชฎเซ‹เชจเซเช‚ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟเชคเซเชต เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เช•เชฟเชจเชพเชฐเซ€ เชเชตเชพ เชธเช‚เชฌเช‚เชงเซ‹เชจเซเช‚ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟเชคเซเชต เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชœเซ‡เชจเชพ เชฒเช•เซเชทเชฃเซ‹เชฎเชพเช‚ เชฎเชพเชนเชฟเชคเซ€ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

เช—เซเชฐเชพเชซ เชฅเชฟเชฏเชฐเซ€เชฎเชพเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช—เซเชฐเชพเชซ เชคเชฐเซ€เช•เซ‡ เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เช เชเช•เชฎเซ‹เชจเซ‡ เช—เซเชฐเชพเชซ เชคเชฐเซ€เช•เซ‡ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซเช“ เช…เชจเซ‡ เชงเชพเชฐ เช›เซ‡. เชตเชฟเชถเซ‡เชทเชคเชพเช“ เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซเช“ เช…เชจเซ‡ เชงเชพเชฐเชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช›เซ‡. เชœเซ‹เชกเชพเชฃ เช เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซเช“เชจเซเช‚ เชœเซ‹เชกเชพเชฃ เช›เซ‡.

เช…เชจเซเชฏ เชกเซ‡เชŸเชพ เชฎเซ‹เชกเชฒเซเชธเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เชธเช‚เชธเซเชฅเชพเช“ เชตเชšเซเชšเซ‡เชจเชพ เชธเช‚เชฌเช‚เชงเซ‹เชจเซ‡ เชชเซเชฐเชพเชฅเชฎเชฟเช•เชคเชพ เช†เชชเซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เชตเชฟเชฆเซ‡เชถเซ€ เช•เซ€ เช…เชฅเชตเชพ เช…เชจเซเชฏ เช•เซ‹เชˆเชชเชฃ เชฎเชพเชงเซเชฏเชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเช‚เชฌเช‚เชงเซ‹เชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เชฎเชพเชคเซเชฐ เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซ เช…เชจเซ‡ เชงเชพเชฐ เช…เชฎเซ‚เชฐเซเชคเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชœเชŸเชฟเชฒ เชกเซ‡เชŸเชพ เชฎเซ‹เชกเซ‡เชฒเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เช›เซ‡.

เช†เชงเซเชจเชฟเช• เชตเชฟเชถเซเชตเชฎเชพเช‚, เชฎเซ‹เชกเซ‡เชฒเชฟเช‚เช— เชธเช‚เชฌเช‚เชงเซ‹เชจเซ‡ เชตเชงเซเชจเซ‡ เชตเชงเซ เชœเชŸเชฟเชฒ เชคเช•เชจเซ€เช•เซ‹เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชธเช‚เชฌเช‚เชงเซ‹เชจเซ‡ เชฎเซ‹เชกเซ‡เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เช เช•เซเชทเชฎเชคเชพเช“ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เช—เซเชฐเชพเชซเชจเชพ เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซเช“ เช…เชจเซ‡ เช•เชฟเชจเชพเชฐเซ€เช“ เชจเชตเชพ เชชเซเชฐเช•เชพเชฐเชจเชพ เช•เซ‹เชทเซเชŸเช•เซ‹ เชคเชฐเซ€เช•เซ‡ เชฐเชœเซ‚ เชฅเชพเชฏ เช›เซ‡: NODE เช…เชจเซ‡ EDGE. เช—เซเชฐเชพเชซ เช•เซเชตเซ‡เชฐเซ€เช MATCH() เชจเชพเชฎเชจเชพ เชจเชตเชพ T-SQL เชซเช‚เช•เซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เช† เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ SQL เชธเชฐเซเชตเชฐ 2017 เชฎเชพเช‚ เชฌเชจเซ‡เชฒเซ€ เชนเซ‹เชตเชพเชฅเซ€, เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‹เชˆเชชเชฃ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฃเชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชค เชตเชฟเชจเชพ เชคเชฎเชพเชฐเชพ เชตเชฐเซเชคเชฎเชพเชจ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชฎเชพเช‚ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

เช—เซเชฐเชพเชซ เชฎเซ‹เชกเซ‡เชฒเชจเชพ เชซเชพเชฏเชฆเชพ

เช†เชœเซ‡, เชตเซเชฏเชตเชธเชพเชฏเซ‹ เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เช‰เชšเซเชš เชชเซเชฐเชฆเชฐเซเชถเชจ เช…เชจเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏเชคเชพเชจเซ€ เช…เชชเซ‡เช•เซเชทเชพ เชฐเชพเช–เซ€เชจเซ‡ เชตเชงเซ เช…เชจเซ‡ เชตเชงเซ เชกเซ‡เชŸเชพเชจเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเชคเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹เชจเซ€ เชฎเชพเช‚เช— เช•เชฐเซ‡ เช›เซ‡. เช—เซเชฐเชพเชซ เชคเชฐเซ€เช•เซ‡ เชกเซ‡เชŸเชพเชจเซเช‚ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟเชคเซเชต เชœเชŸเชฟเชฒ เชธเช‚เชฌเช‚เชงเซ‹เชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเช•เซ‚เชณ เชฎเชพเชงเซเชฏเชฎ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เช† เช…เชญเชฟเช—เชฎ เช˜เชฃเซ€ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช†เชชเซ‡เชฒ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชฎเซ‡เชณเชตเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡.

เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚ เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฅเซ€ เช˜เชฃเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹เชจเซ‡ เชซเชพเชฏเชฆเซ‹ เชฅเชถเซ‡.

เชกเซ‡เชŸเชพ เชฎเซ‹เชกเซ‡เชฒเชฟเช‚เช—: เชฐเชฟเชฒเซ‡เชถเชจเชฒเชฅเซ€ เช—เซเชฐเชพเชซ เชฎเซ‹เชกเซ‡เชฒ เชธเซเชงเซ€

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ
เช‰เชฆเชพเชนเชฐเชฃ:

เชšเชพเชฒเซ‹ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเชพ เชชเชฆเชพเชจเซเช•เซเชฐเชฎ เชธเชพเชฅเซ‡เชจเชพ เชธเช‚เช—เช เชจเชพเชคเซเชฎเช• เชฎเชพเชณเช–เชพเชจเชพ เช‰เชฆเชพเชนเชฐเชฃเชจเซ‡ เชœเซ‹เชˆเช: เชเช• เช•เชฐเซเชฎเชšเชพเชฐเซ€ เชฎเซ‡เชจเซ‡เชœเชฐเชจเซ‡ เช…เชนเซ‡เชตเชพเชฒ เช†เชชเซ‡ เช›เซ‡, เชฎเซ‡เชจเซ‡เชœเชฐ เชตเชฐเชฟเชทเซเช  เชฎเซ‡เชจเซ‡เชœเชฐเชจเซ‡ เช…เชนเซ‡เชตเชพเชฒ เช†เชชเซ‡ เช›เซ‡, เชตเช—เซ‡เชฐเซ‡. เชšเซ‹เช•เซเช•เชธ เช•เช‚เชชเชจเซ€ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ€เชจเซ‡, เช† เชชเชฆเชพเชจเซเช•เซเชฐเชฎเชฎเชพเช‚ เช•เซ‹เชˆเชชเชฃ เชธเซเชคเชฐเซ‹ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เชชเชฐเช‚เชคเซ เชœเซ‡เชฎ เชœเซ‡เชฎ เชธเซเชคเชฐเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ เชฅเชพเชฏ เช›เซ‡, เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชธเช‚เชฌเช‚เชงเซ‹เชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเซ€ เชตเชงเซเชจเซ‡ เชตเชงเซ เชฎเซเชถเซเช•เซ‡เชฒ เชฌเชจเซ‡ เช›เซ‡. เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเซ€ เชตเช‚เชถเชตเซ‡เชฒเซ‹, เชฎเชพเชฐเซเช•เซ‡เชŸเชฟเช‚เช—เชฎเชพเช‚ เชตเช‚เชถเชตเซ‡เชฒเซ‹ เช…เชฅเชตเชพ เชธเชพเชฎเชพเชœเชฟเช• เชจเซ‡เชŸเชตเชฐเซเช•เซเชธเชฎเชพเช‚ เชœเซ‹เชกเชพเชฃเซ‹เชจเซ€ เช•เชฒเซเชชเชจเชพ เช•เชฐเชตเซ€ เช–เซ‚เชฌ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡. เชšเชพเชฒเซ‹ เชœเซ‹เชˆเช เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ SQL เช—เซเชฐเชพเชซ เชตเช‚เชถเชตเซ‡เชฒเชพเชจเชพ เชตเชฟเชตเชฟเชง เชธเซเชคเชฐเซ‹เชจเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเชตเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชนเชฒ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เช† เช‰เชฆเชพเชนเชฐเชฃ เชฎเชพเชŸเซ‡ เช†เชชเชฃเซ‡ เชเช• เชธเชฐเชณ เชกเซ‡เชŸเชพ เชฎเซ‹เชกเซ‡เชฒ เชฌเชจเชพเชตเซ€เชถเซเช‚. เชšเชพเชฒเซ‹ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเซเช‚ เชŸเซ‡เชฌเชฒ เชฌเชจเชพเชตเซ€เช เชชเชฏเชพเชฐเซเชตเชฐเชฃเซ€เชฏ ID เชธเชพเชฅเซ‡ EMPNO เช…เชจเซ‡ เช•เซ‰เชฒเชฎ เชเชฎเชœเซ€เช†เชฐ, เช•เชฐเซเชฎเชšเชพเชฐเซ€เชจเชพ เชธเซเชชเชฐเชตเชพเช‡เชเชฐ (เชฎเซ‡เชจเซ‡เชœเชฐ) เชจเชพ เช“เชณเช–เช•เชฐเซเชคเชพเชจเซ‡ เชธเซ‚เชšเชตเซ‡ เช›เซ‡. เชตเช‚เชถเชตเซ‡เชฒเซ‹ เชตเชฟเชถเซ‡เชจเซ€ เชคเชฎเชพเชฎ เชฎเชพเชนเชฟเชคเซ€ เช† เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เช›เซ‡ เช…เชจเซ‡ เช•เซ‰เชฒเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซ‚เช›เชชเชฐเช› เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ EMPNO ะธ เชเชฎเชœเซ€เช†เชฐ.

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ
เชจเซ€เชšเซ‡เชจเซเช‚ เชšเชฟเชคเซเชฐ เชตเชงเซ เชชเชฐเชฟเชšเชฟเชค เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชฎเชพเชณเช–เชพเชจเชพ เชšเชพเชฐ เชธเซเชคเชฐเซ‹ เชธเชพเชฅเซ‡ เชธเชฎเชพเชจ เชธเช‚เช—เช เชจเชพเชคเซเชฎเช• เชฎเชพเชณเช–เซเช‚ เชฎเซ‹เชกเซ‡เชฒ เชฌเชคเชพเชตเซ‡ เช›เซ‡. เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“ เช เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚เชฅเซ€ เช—เซเชฐเชพเชซเชจเชพ เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซเช“ เช›เซ‡ เชชเชฏเชพเชฐเซเชตเชฐเชฃเซ€เชฏ. เชเชจเซเชŸเชฟเชŸเซ€ "เช•เชฐเซเชฎเชšเชพเชฐเซ€" เช•เชจเซ‡เช•เซเชถเชจ "เชธเชฌเชฎเชฟเชŸ" (เชฐเชฟเชชเซ‹เชฐเซเชŸ เชŸเซ) เชฆเซเชตเชพเชฐเชพ เชชเซ‹เชคเชพเชจเซ€ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เช›เซ‡. เช—เซเชฐเชพเชซเชจเซ€ เชถเชฐเชคเซ‹เชฎเชพเช‚, เชฒเชฟเช‚เช• เช เชเชœ (EDGE) เช›เซ‡ เชœเซ‡ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเชพ เชจเซ‹เชกเซเชธ (NODE) โ€‹โ€‹เชจเซ‡ เชœเซ‹เชกเซ‡ เช›เซ‡.

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ

เชšเชพเชฒเซ‹ เชจเชฟเชฏเชฎเชฟเชค เชŸเซ‡เชฌเชฒ เชฌเชจเชพเชตเซ€เช เชชเชฏเชพเชฐเซเชตเชฐเชฃเซ€เชฏ เช…เชจเซ‡ เช‰เชชเชฐเซ‹เช•เซเชค เชฐเซ‡เช–เชพเช•เซƒเชคเชฟ เช…เชจเซเชธเชพเชฐ เชคเซเชฏเชพเช‚ เชฎเซ‚เชฒเซเชฏเซ‹ เช‰เชฎเซ‡เชฐเซ‹.

CREATE TABLE EMP
(EMPNO INT NOT NULL,
ENAME VARCHAR(20),
JOB VARCHAR(10),
MGR INT,
JOINDATE DATETIME,
SALARY DECIMAL(7, 2),
COMMISIION DECIMAL(7, 2),
DNO INT)
 
INSERT INTO EMP VALUES
(7369, 'SMITH', 'CLERK', 7902, '02-MAR-1970', 8000, NULL, 2),
(7499, 'ALLEN', 'SALESMAN', 7698, '20-MAR-1971', 1600, 3000, 3),
(7521, 'WARD', 'SALESMAN', 7698, '07-FEB-1983', 1250, 5000, 3),
(7566, 'JONES', 'MANAGER', 7839, '02-JUN-1961', 2975, 50000, 2),
(7654, 'MARTIN', 'SALESMAN', 7698, '28-FEB-1971', 1250, 14000, 3),
(7698, 'BLAKE', 'MANAGER', 7839, '01-JAN-1988', 2850, 12000, 3),
(7782, 'CLARK', 'MANAGER', 7839, '09-APR-1971', 2450, 13000, 1),
(7788, 'SCOTT', 'ANALYST', 7566, '09-DEC-1982', 3000, 1200, 2),
(7839, 'KING', 'PRESIDENT', NULL, '17-JUL-1971', 5000, 1456, 1),
(7844, 'TURNER', 'SALESMAN', 7698, '08-AUG-1971', 1500, 0, 3),
(7876, 'ADAMS', 'CLERK', 7788, '12-MAR-1973', 1100, 0, 2),
(7900, 'JAMES', 'CLERK', 7698, '03-NOV-1971', 950, 0, 3),
(7902, 'FORD', 'ANALYST', 7566, '04-MAR-1961', 3000, 0, 2),
(7934, 'MILLER', 'CLERK', 7782, '21-JAN-1972', 1300, 0, 1)

เชจเซ€เชšเซ‡เชจเซเช‚ เชšเชฟเชคเซเชฐ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเซ‡ เชฌเชคเชพเชตเซ‡ เช›เซ‡:

  • เชธเชพเชฅเซ‡ เช•เชฐเซเชฎเชšเชพเชฐเซ€ EMPNO 7369 7902 เชชเชพเชณเซ‡ เช›เซ‡;
  • เชธเชพเชฅเซ‡ เช•เชฐเซเชฎเชšเชพเชฐเซ€ EMPNO 7902 7566 เชจเซเช‚ เชชเชพเชฒเชจ เช•เชฐเซ‡ เช›เซ‡
  • เชธเชพเชฅเซ‡ เช•เชฐเซเชฎเชšเชพเชฐเซ€ EMPNO 7566 7839 เชจเซเช‚ เชชเชพเชฒเชจ เช•เชฐเซ‡ เช›เซ‡

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ
เชนเชตเซ‡ เช เชœ เชกเซ‡เชŸเชพเชจเชพ เช—เซเชฐเชพเชซเชจเซ€ เชฐเชœเซ‚เช†เชค เชœเซ‹เชˆเช. EMPLOYEE เชถเชฟเชฐเซ‹เชฌเชฟเช‚เชฆเซเชฎเชพเช‚ เช˜เชฃเซ€ เชตเชฟเชถเซ‡เชทเชคเชพเช“ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ "เชธเชฌเช“เชฐเซเชกเชฟเชจเซ‡เชŸ" เชธเช‚เชฌเช‚เชง (EmplReportsTo) เชฆเซเชตเชพเชฐเชพ เชชเซ‹เชคเชพเชจเซ€ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เช›เซ‡. EmplReportsTo เช เชธเช‚เชฌเช‚เชงเชจเซเช‚ เชจเชพเชฎ เช›เซ‡.

เชเชœ เชŸเซ‡เชฌเชฒ (EDGE) เชฎเชพเช‚ เชตเชฟเชถเซ‡เชทเชคเชพเช“ เชชเชฃ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ
เชšเชพเชฒเซ‹ เชจเซ‹เชก เชŸเซ‡เชฌเชฒ EmpNode เชฌเชจเชพเชตเซ€เช

เชจเซ‹เชก เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เชตเชพเช•เซเชฏเชฐเชšเชจเชพ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡: เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ เชฎเชพเชŸเซ‡ เช•เซ‹เชทเซเชŸเช• เชฌเชจเชพเชตเซ‹ เช…เช‚เชคเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ "เชจเซ‹เชก เชคเชฐเซ€เช•เซ‡".

CREATE TABLE dbo.EmpNode(
ID Int Identity(1,1),
EMPNO NUMERIC(4) NOT NULL,
ENAME VARCHAR(10),
MGR NUMERIC(4),
DNO INT
) AS NODE;

เชนเชตเซ‡ เชšเชพเชฒเซ‹ เชจเชฟเชฏเชฎเชฟเชค เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพเชจเซ‡ เช—เซเชฐเชพเชซ เชตเชจเชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเซ€เช. เช†เช—เชณ เชถเชพเชฎเซ‡เชฒ เช•เชฐเซ‹ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชŸเซ‡เชฌเชฒเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชฆเชพเช–เชฒ เช•เชฐเซ‡ เช›เซ‡ เชชเชฏเชพเชฐเซเชตเชฐเชฃเซ€เชฏ.

INSERT INTO EmpNode(EMPNO,ENAME,MGR,DNO) select empno,ename,MGR,dno from emp

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ
เชตเชฟเชถเชฟเชทเซเชŸ เช•เซ‰เชฒเชฎเชฎเชพเช‚ เชจเซ‹เชกเซเชธเชจเชพ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ $node_id_* เชจเซ‹เชก เช“เชณเช–เช•เชฐเซเชคเชพ JSON เชคเชฐเซ€เช•เซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช›เซ‡. เช† เช•เซ‹เชทเซเชŸเช•เชจเซ€ เชฌเชพเช•เซ€เชจเซ€ เช•เซ‰เชฒเชฎเชฎเชพเช‚ เชจเซ‹เชกเชจเซ€ เชตเชฟเชถเซ‡เชทเชคเชพเช“ เช›เซ‡.

เช•เชฟเชจเชพเชฐเซ€เช“ เชฌเชจเชพเชตเชตเซ€ (EDGE)

เชเชœ เชŸเซ‡เชฌเชฒ เชฌเชจเชพเชตเชตเซเช‚ เช เชจเซ‹เชก เชŸเซ‡เชฌเชฒ เชฌเชจเชพเชตเชตเชพ เชœเซ‡เชตเซเช‚ เชœ เช›เซ‡, เชธเชฟเชตเชพเชฏ เช•เซ‡ เช•เซ€เชตเชฐเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ "เชเช เชเชœ".

CREATE TABLE empReportsTo(Deptno int) AS EDGE

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ

เชนเชตเซ‡ เชšเชพเชฒเซ‹ เช•เซ‰เชฒเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“ เชตเชšเซเชšเซ‡เชจเชพ เชœเซ‹เชกเชพเชฃเซ‹เชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ€เช EMPNO ะธ เชเชฎเชœเซ€เช†เชฐ. เชธเช‚เชธเซเชฅเชพเช•เซ€เชฏ เชฎเชพเชณเช–เซเช‚ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชฌเชคเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซเช‚ เชถเชพเชฎเซ‡เชฒ เช•เชฐเซ‹.

INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 1),
   	(SELECT $node_id FROM EmpNode WHERE id = 13),20);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 2),
   	(SELECT $node_id FROM EmpNode WHERE id = 6),10);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 3),
   	(SELECT $node_id FROM EmpNode WHERE id = 6),10)
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 4),
   	(SELECT $node_id FROM EmpNode WHERE id = 9),30);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 5),
   	(SELECT $node_id FROM EmpNode WHERE id = 6),30);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 6),
   	(SELECT $node_id FROM EmpNode WHERE id = 9),30);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 7),
   	(SELECT $node_id FROM EmpNode WHERE id = 9),30);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 8),
   	(SELECT $node_id FROM EmpNode WHERE id = 4),30);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 9),
   	(SELECT $node_id FROM EmpNode WHERE id = 9),30);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 10),
   	(SELECT $node_id FROM EmpNode WHERE id = 6),30);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 11),
   	(SELECT $node_id FROM EmpNode WHERE id = 8),30);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 12),
   	(SELECT $node_id FROM EmpNode WHERE id = 6),30);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 13),
   	(SELECT $node_id FROM EmpNode WHERE id = 4),30);
INSERT INTO empReportsTo  VALUES ((SELECT $node_id FROM EmpNode WHERE ID = 14),
   	(SELECT $node_id FROM EmpNode WHERE id = 7),30);

เชกเชฟเชซเซ‰เชฒเซเชŸ เชเชœ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชคเซเชฐเชฃ เช•เซ‰เชฒเชฎ เชนเซ‹เชฏ เช›เซ‡. เชชเซเชฐเชฅเชฎ, $edge_id - JSON เชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เชงเชพเชฐ เช“เชณเช–เช•เชฐเซเชคเชพ. เช…เชจเซเชฏ เชฌเซ‡ ($from_id ะธ $to_id) เชจเซ‹เชกเซเชธ เชตเชšเซเชšเซ‡เชจเชพ เชœเซ‹เชกเชพเชฃเชจเซเช‚ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟเชคเซเชต เช•เชฐเซ‡ เช›เซ‡. เชตเชงเซเชฎเชพเช‚, เชงเชพเชฐเชฎเชพเช‚ เชตเชงเชพเชฐเชพเชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชคเซ‡ เช›เซ‡ เชกเชฟเชชเซเชŸเชจเซ‹.

เชธเชฟเชธเซเชŸเชฎ เชฆเซƒเชถเซเชฏเซ‹

เชธเชฟเชธเซเชŸเชฎ เชฆเซƒเชถเซเชฏเชฎเชพเช‚ sys.tables เชฌเซ‡ เชจเชตเซ€ เช•เซ‰เชฒเชฎ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

  1. is_edge
  2. is_node

SELECT t.is_edge,t.is_node,*
FROM sys.tables t
WHERE name like 'emp%'

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ

เชเชธ.เชเชธ.เชเชฎ.เชเชธ.

เช†เชฒเซ‡เช– เชธเช‚เชฌเช‚เชงเชฟเชค เชตเชธเซเชคเซเช“ เช—เซเชฐเชพเชซ เช•เซ‹เชทเซเชŸเช•เซ‹ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชธเซเชฅเชฟเชค เช›เซ‡. เชจเซ‹เชก เชŸเซ‡เชฌเชฒ เช†เช‡เช•เซ‹เชจ เชกเซ‹เชŸ เชธเชพเชฅเซ‡ เชšเชฟเชนเซเชจเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡, เช…เชจเซ‡ เชงเชพเชฐ เชŸเซ‡เชฌเชฒ เช†เช‡เช•เซ‹เชจ เชฌเซ‡ เช•เชจเซ‡เช•เซเชŸเซ‡เชก เชตเชฐเซเชคเซเชณเซ‹ (เชฅเซ‹เชกเซเช‚ เชšเชถเซเชฎเชพ เชœเซ‡เชตเซเช‚) เชธเชพเชฅเซ‡ เชšเชฟเชนเซเชจเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡.

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ

เชฎเซ‡เชณ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ

เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ เชฎเซ‡เชš CQL (เชธเชพเชฏเชซเชฐ เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ) เชฎเชพเช‚เชฅเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เช›เซ‡. เช†เชฒเซ‡เช–เชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹เชจเซ‡ เช•เซเชตเซ‡เชฐเซ€ เช•เชฐเชตเชพเชจเซ€ เช† เชเช• เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เชฐเซ€เชค เช›เซ‡. CQL เชเช• เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ เชธเชพเชฅเซ‡ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡ เชฎเซ‡เชš.

เชตเชพเช•เซเชฏเชฐเชšเชจเชพ

MATCH (<graph_search_pattern>)
 
<graph_search_pattern>::=
    {<node_alias> {
                 	{ <-( <edge_alias> )- }
               	| { -( <edge_alias> )-> }
             	<node_alias>
             	}
 	}
 	[ { AND } { ( <graph_search_pattern> ) } ]
 	[ ,...n ]
 
<node_alias> ::=
    node_table_name | node_alias
 
<edge_alias> ::=
    edge_table_name | edge_alias

เช‰เชฆเชพเชนเชฐเชฃเซ‹

เชšเชพเชฒเซ‹ เชฅเซ‹เชกเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชœเซ‹เชˆเช.

เชจเซ€เชšเซ‡เชจเซ€ เช•เซเชตเซ‡เชฐเซ€ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเซ‡ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เชœเซ‡เชฎเชจเซ‡ เชธเซเชฎเชฟเชฅ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฎเซ‡เชจเซ‡เชœเชฐ เชฐเชฟเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡.

SELECT
E.EMPNO,E.ENAME,E.MGR,E1.EMPNO,E1.ENAME,E1.MGR
FROM
    empnode e, empnode e1, empReportsTo m
WHERE
    MATCH(e-(m)->e1)
and e.ENAME='SMITH'

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ
เชจเซ€เชšเซ‡เชจเซ€ เช•เซเชตเซ‡เชฐเซ€ เชธเซเชฎเชฟเชฅ เชฎเชพเชŸเซ‡ เชฌเซ€เชœเชพ-เชธเซเชคเชฐเชจเชพ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“ เช…เชจเซ‡ เชฎเซ‡เชจเซ‡เชœเชฐเซ‹ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชตเชพเช•เซเชฏ เชฆเซ‚เชฐ เช•เชฐเซ‹ เช•เซเชฏเชพเช‚ เช›เซ‡, เชชเช›เซ€ เชชเชฐเชฟเชฃเชพเชฎ เชคเชฎเชพเชฎ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเซ‡ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชถเซ‡.

SELECT
E.EMPNO,E.ENAME,E.MGR,E1.EMPNO,E1.ENAME,E1.MGR,E2.EMPNO,e2.ENAME,E2.MGR
FROM
    empnode e, empnode e1, empReportsTo m ,empReportsTo m1, empnode e2
WHERE
    MATCH(e-(m)->e1-(m1)->e2)
and e.ENAME='SMITH'

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ
เช…เชจเซ‡ เช…เช‚เชคเซ‡, เชคเซเชฐเซ€เชœเชพ-เชธเซเชคเชฐเชจเชพ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“ เช…เชจเซ‡ เชฎเซ‡เชจเซ‡เชœเชฐเซ‹ เชฎเชพเชŸเซ‡ เชตเชฟเชจเช‚เชคเซ€.

SELECT
E.EMPNO,E.ENAME,E.MGR,E1.EMPNO,E1.ENAME,E1.MGR,E2.EMPNO,e2.ENAME,E2.MGR,E3.EMPNO,e3.ENAME,E3.MGR
FROM
    empnode e, empnode e1, empReportsTo m ,empReportsTo m1, empnode e2, empReportsTo M2, empnode e3
WHERE
    MATCH(e-(m)->e1-(m1)->e2-(m2)->e3)
and e.ENAME='SMITH'

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ
เชนเชตเซ‡ เชธเซเชฎเชฟเชฅเชจเชพ เชฌเซ‹เชธ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฆเชฟเชถเชพ เชฌเชฆเชฒเซ€เช.

SELECT
E.EMPNO,E.ENAME,E.MGR,E1.EMPNO,E1.ENAME,E1.MGR,E2.EMPNO,e2.ENAME,E2.MGR,E3.EMPNO,e3.ENAME,E3.MGR
FROM
    empnode e, empnode e1, empReportsTo m ,empReportsTo m1, empnode e2, empReportsTo M2, empnode e3
WHERE
    MATCH(e<-(m)-e1<-(m1)-e2<-(m2)-e3)

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ

เชจเชฟเชทเซเช•เชฐเซเชท

SQL เชธเชฐเซเชตเชฐ 2017 เช เชตเชฟเชตเชฟเชง IT เชตเซเชฏเชตเชธเชพเชฏ เช•เชพเชฐเซเชฏเซ‹ เชฎเชพเชŸเซ‡ เชเช• เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เช เชธเซ‹เชฒเซเชฏเซเชถเชจ เชคเชฐเซ€เช•เซ‡ เชชเซ‹เชคเชพเชจเซ‡ เชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซเชฏเซเช‚ เช›เซ‡. SQL เช—เซเชฐเชพเชซเชจเซเช‚ เชชเซเชฐเชฅเชฎ เชธเช‚เชธเซเช•เชฐเชฃ เช–เซ‚เชฌ เชœ เช†เชถเชพเชธเซเชชเชฆ เช›เซ‡. เช•เซ‡เชŸเชฒเซ€เช• เชฎเชฐเซเชฏเชพเชฆเชพเช“ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, เช—เซเชฐเชพเชซเชจเซ€ เช•เซเชทเชฎเชคเชพเช“เชจเซเช‚ เช…เชจเซเชตเซ‡เชทเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชชเซ‚เชฐเชคเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เช›เซ‡.

SQL เช—เซเชฐเชพเชซ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ SQL เชเชจเซเชœเชฟเชจเชฎเชพเช‚ เชธเช‚เช•เชฒเชฟเชค เช›เซ‡. เชœเซ‹ เช•เซ‡, เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช•เชนเซเชฏเซเช‚ เชคเซ‡เชฎ, SQL เชธเชฐเซเชตเชฐ 2017 เชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเซ€ เชฎเชฐเซเชฏเชพเชฆเชพเช“ เช›เซ‡:

เชชเซ‹เชฒเซ€เชฎเซ‹เชฐเซเชซเชฟเชเชฎ เชธเชชเซ‹เชฐเซเชŸ เชจเชฅเซ€.

  • เชฎเชพเชคเซเชฐ เชฆเชฟเชถเชพเชนเซ€เชจ เช•เชจเซ‡เช•เซเชถเชจเซเชธ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡.
  • เช•เชฟเชจเชพเชฐเซ€เช“ UPDATE เชฆเซเชตเชพเชฐเชพ $from_id เช…เชจเซ‡ $to_id เช•เซ‰เชฒเชฎ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€.
  • เชŸเซเชฐเชพเชจเซเชเชฟเชŸเชฟเชต เช•เซเชฒเซ‹เชเชฐเซเชธ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡ CTE เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฎเซ‡เชณเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡.
  • เช‡เชจ-เชฎเซ‡เชฎเชฐเซ€ OLTP เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช›เซ‡.
  • เชŸเซ‡เชฎเซเชชเซ‹เชฐเชฒ เช•เซ‹เชทเซเชŸเช•เซ‹ (เชธเชฟเชธเซเชŸเชฎ-เชตเชฐเซเชเชจเชตเชพเชณเซ€ เชŸเซ‡เชฎเซเชชเซ‹เชฐเชฒ เชŸเซ‡เชฌเชฒ), เช…เชธเซเชฅเชพเชฏเซ€ เชธเซเชฅเชพเชจเชฟเช• เช…เชจเซ‡ เชตเซˆเชถเซเชตเชฟเช• เช•เซ‹เชทเซเชŸเช•เซ‹ เชธเชฎเชฐเซเชฅเชฟเชค เชจเชฅเซ€.
  • เช•เซ‹เชทเซเชŸเช• เชชเซเชฐเช•เชพเชฐเซ‹ เช…เชจเซ‡ เช•เซ‹เชทเซเชŸเช• เชšเชฒเซ‹เชจเซ‡ NODE เช…เชฅเชตเชพ EDGE เชคเชฐเซ€เช•เซ‡ เชœเชพเชนเซ‡เชฐ เช•เชฐเซ€ เชถเช•เชพเชคเชพ เชจเชฅเซ€.
  • เช•เซเชฐเซ‹เชธ-เชกเซ‡เชŸเชพเชฌเซ‡เช เช•เซเชตเซ‡เชฐเซ€ เชธเชฎเชฐเซเชฅเชฟเชค เชจเชฅเซ€.
  • เชจเชฟเชฏเชฎเชฟเชค เช•เซ‹เชทเซเชŸเช•เซ‹เชจเซ‡ เช—เซเชฐเชพเชซ เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช•เซ‹เชˆ เชธเซ€เชงเซ€ เชฐเซ€เชค เช…เชฅเชตเชพ เชตเชฟเชเชพเชฐเซเชก เชจเชฅเซ€.
  • เช—เซเชฐเชพเชซ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‹เชˆ GUI เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ Power BI เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

SQL เชธเชฐเซเชตเชฐ 2017 เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ

เชตเชงเซ เชตเชพเช‚เชšเซ‹:

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹