ื”ืงื“ืžื” ืฆื• SQL Server 2017 ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–

ืื™ื™ื“ืขืจ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื“ืขื ืงื•ืจืก "MS SQL ืกืขืจื•ื•ื™ืจืขืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจ" ืžื™ืจ ื”ืึธื‘ืŸ ืฆื•ื’ืขื’ืจื™ื™ื˜ ืืŸ ืื ื“ืขืจ ื ื•ืฆื™ืง ืื™ื‘ืขืจื–ืขืฆื•ื ื’ ืคึฟืึทืจ ืื™ืจ.

ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ื–ืขื ืขืŸ ืึท ื•ื•ื™ื›ื˜ื™ืง ื˜ืขื›ื ืึธืœืึธื’ื™ืข ืคึฟืึทืจ ื“ื™ื™ื˜ืึทื‘ื™ื™ืก ืคึผืจืึธืคืขืกืกื™ืึธื ืึทืœืก. ืื™ืš ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื”ืึทืœื˜ืŸ ื–ื™ืš ืžื™ื˜ ื™ื ืึธื•ื•ื•ื™ื™ืฉืึทื ื– ืื•ืŸ ื ื™ื™ึทืข ื˜ืขืงื ืึทืœืึทื“ื–ืฉื™ื– ืื™ืŸ ื“ืขื ื’ืขื’ื ื˜, ืื•ืŸ ื ืึธืš ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืจื™ืœื™ื™ืฉืึทื ืึทืœ ืื•ืŸ NoSQL ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–, ืื™ืš ื–ืขืŸ ื“ื™ ืจืึธืœืข ืคื•ืŸ โ€‹โ€‹ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ื•ื•ืขืจืŸ ื™ื ืงืจื™ืกื™ื ื’ืœื™ ื•ื•ื™ื›ื˜ื™ืง. ื•ื•ืขืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืงืึธืžืคึผืœืขืงืก ื›ื™ื™ืจืึทืจืงืึทืงืึทืœ ื“ืึทื˜ืŸ, ื ื™ื˜ ื‘ืœื•ื™ื– ื˜ืจืื“ื™ืฆื™ืื ืขืœืŸ ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ื–ืขื ืขืŸ ื™ื ื™ืคืขืงื˜ื™ื•ื•, ืึธื‘ืขืจ ืื•ื™ืš NoSQL. ืึธืคื˜, ื•ื•ื™ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืงืฉืจ ืœืขื•ื•ืขืœืก ืื•ืŸ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ื™ื ืงืจื™ืกื™ื–, ืคืึธืจืฉื˜ืขืœื•ื ื’ ื“ื™ืงืจื™ืกืึทื–. ืื•ืŸ ื•ื•ื™ ื“ื™ ื‘ืืฆื™ื•ื ื’ืขืŸ ื•ื•ืขืจืŸ ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜, ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ JOINs ืื•ื™ืš ื™ื ืงืจื™ืกื™ื–.

ื“ืึธืš, ื“ื™ ืจื™ืœื™ื™ืฉืึทื ืึทืœ ืžืึธื“ืขืœ ื”ืื˜ ืกืึทืœื•ืฉืึทื ื– ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื›ื™ื™ืขืจืึทืจืงื™ื– (ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื ื™ืฆืŸ ืจืขืงื•ืจืกื™ื•ื•ืข CTEs), ืึธื‘ืขืจ ื“ืึธืก ื–ืขื ืขืŸ ื ืึธืš ื•ื•ืึธืจืงืึทืจืึธื•ื ื“ืก. ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืคื•ืŸ SQL ืกืขืจื•ื•ื™ืจืขืจ ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืœื™ื™ื›ื˜ ืฉืขืคึผืŸ ืงื™ื™ืคืœ ื›ื™ื™ืขืจืึทืจืงื™ ืœืขื•ื•ืขืœืก. ื‘ื™ื™ื“ืข ื“ื™ ื“ืึทื˜ืŸ ืžืึธื“ืขืœ ืื•ืŸ ืงื•ื•ื™ืจื™ื– ื–ืขื ืขืŸ ืกื™ืžืคึผืœืึทืคื™ื™ื“, ืื•ืŸ ื“ืขืจื™ื‘ืขืจ ื–ื™ื™ืขืจ ืขืคืขืงื˜ื™ื•ื•ืงื™ื™ึทื˜ ื™ื ืงืจื™ืกื™ื–. ื“ื™ ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹ืงืึธื“ ืื™ื– ื‘ืื˜ื™ื™ื˜ื™ืง ืจื™ื“ื•ืกื˜.

ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ื–ืขื ืขืŸ ืึท ื™ืงืกืคึผืจืขืกื™ื•ื• ืฉืคึผืจืึทืš ืคึฟืึทืจ ืจืขืคึผืจื™ื–ืขื ื˜ื™ื ื’ ืงืึธืžืคึผืœืขืงืก ืกื™ืกื˜ืขืžืขืŸ. ื“ื™ ื˜ืขื›ื ืึธืœืึธื’ื™ืข ืื™ื– ืฉื•ื™ืŸ ื’ืึทื ืฅ ื•ื•ื™ื™ื“ืœื™ ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ IT ืื™ื ื“ื•ืกื˜ืจื™ืข ืื™ืŸ ื’ืขื‘ื™ื˜ืŸ ืึทื–ืึท ื•ื•ื™ ื’ืขื–ืขืœืฉืึทืคื˜ืœืขืš ื ืขื˜ื•ื•ืึธืจืงืก, ืึทื ื˜ื™-ืฉื•ื•ื™ื ื“ืœ ืกื™ืกื˜ืขืžืขืŸ, IT ื ืขืฅ ืึทื ืึทืœื™ืกื™ืก, ื’ืขื–ืขืœืฉืึทืคื˜ืœืขืš ืจืขืงืึทืžืึทื ื“ื™ื™ืฉืึทื ื–, ืคึผืจืึธื“ื•ืงื˜ ืื•ืŸ ืื™ื ื”ืึทืœื˜ ืจืขืงืึทืžืึทื ื“ื™ื™ืฉืึทื ื–.

ื“ื™ ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืก ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ืŸ SQL ืกืขืจื•ื•ื™ืจืขืจ ืื™ื– ืคึผืึทืกื™ืง ืคึฟืึทืจ ืกื™ื ืขืจื™ืึธื•ื– ื•ื•ื• ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ื”ืขื›ืกื˜ ื™ื ื˜ืขืจืงืึทื ืขืงื˜ื™ื“ ืื•ืŸ ื”ืึธื‘ืŸ ื’ืขื–ื•ื ื˜-ื“ื™ืคื™ื™ื ื“ ืฉื™ื™ื›ื•ืช.

ื’ืจืึทืคื™ืง ื“ืึทื˜ืึท ืžืึธื“ืขืœ

ื ื’ืจืึทืคื™ืง ืื™ื– ืึท ื’ืึทื ื’ ืคื•ืŸ ื•ื•ืขืจื˜ื™ืงืึทืœื– (ื ืึธื“ืขืก) ืื•ืŸ ืขื“ื–ืฉืึทื– (ื‘ืึทืฆื™ื•ื ื’ืขืŸ, ื‘ืจืขื’). ื•ื•ืขืจื˜ื™ืกืขืก ืจืขืคึผืจืึทื–ืขื ืฅ ืขื ื˜ื™ื˜ื™ื–, ืื•ืŸ ืขื“ื–ืฉืึทื– ืจืขืคึผืจืึทื–ืขื ืฅ ื‘ืืฆื™ื•ื ื’ืขืŸ ื•ื•ืขืžืขื ืก ืึทื˜ืจื™ื‘ื™ื•ืฅ ืงืขืŸ ืึทื ื˜ื”ืึทืœื˜ืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข.

ื ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืก ืžืึธื“ืขืœืก ืขื ื˜ื™ื˜ื™ื– ื•ื•ื™ ืึท ื’ืจืึทืคื™ืง ื•ื•ื™ ื“ื™ืคื™ื™ื ื“ ืื™ืŸ ื’ืจืึทืคื™ืง ื˜ืขืึธืจื™ืข. ื“ืึทื˜ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื– ื–ืขื ืขืŸ ื•ื•ืขืจื˜ื™ืกืขืก ืื•ืŸ ืขื“ื–ืฉืึทื–. ืึทื˜ืจื™ื‘ื™ื•ืฅ ื–ืขื ืขืŸ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืคื•ืŸ ื•ื•ืขืจื˜ื™ืกืขืก ืื•ืŸ ืขื“ื–ืฉืึทื–. ื ืงืฉืจ ืื™ื– ื ืคืืจื‘ื™ื ื“ื•ื ื’ ืคื•ืŸ ืขืงืŸ.

ื ื™ื˜ ืขื ืœืขืš ืื ื“ืขืจืข ื“ืึทื˜ืŸ ืžืึธื“ืขืœืก, ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ืคึผืจื™ื™ืึธืจืึทื˜ื™ื™ื– ื‘ืึทืฆื™ื•ื ื’ืขืŸ ืฆื•ื•ื™ืฉืŸ ืขื ื˜ื™ื˜ื™ื–. ื“ืขืจื™ื‘ืขืจ, ืขืก ืื™ื– ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ืจืขื›ืขื ืขืŸ ื‘ืืฆื™ื•ื ื’ืขืŸ ืžื™ื˜ ืคืจืขืžื“ ืฉืœื™ืกืœืขืŸ ืึธื“ืขืจ ืงื™ื™ืŸ ืื ื“ืขืจืข ืžื™ื˜ืœ. ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืฉืึทืคึฟืŸ ืงืึธืžืคึผืœืขืงืก ื“ืึทื˜ืŸ ืžืึธื“ืขืœืก ืžื™ื˜ ื‘ืœื•ื™ื– ื•ื•ืขืจื˜ืขืงืก ืื•ืŸ ื‘ืจืขื’ ืึทื‘ืกื˜ืจืึทืงืฆื™ืขืก.

ืื™ืŸ ื“ื™ ืžืึธื“ืขืจืŸ ื•ื•ืขืœื˜, ืžืึธื“ืขืœื™ื ื’ ื‘ืึทืฆื™ื•ื ื’ืขืŸ ืจื™ืงื•ื•ื™ื™ืขืจื– ื™ื ืงืจื™ืกื™ื ื’ืœื™ ืงืึธืžืคึผืœื™ืฆื™ืจื˜ ื˜ืขืงื ื™ืงืก. ืฆื• ืžืึธื“ืขืœ ื‘ืืฆื™ื•ื ื’ืขืŸ, SQL Server 2017 ืึธืคืคืขืจืก ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืก ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื–. ื“ื™ ื•ื•ืขืจื˜ื™ืกืขืก ืื•ืŸ ืขื“ื–ืฉืึทื– ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืง ื–ืขื ืขืŸ ืจืขืคึผืจื™ื–ืขื ื˜ื™ื“ ื•ื•ื™ ื ื™ื™ึทืข ื˜ื™ื™ืคึผืก ืคื•ืŸ ื˜ื™ืฉืŸ: NODE ืื•ืŸ EDGE. ื’ืจืึทืคื™ืง ืงื•ื•ื™ืจื™ื– ื ื•ืฆืŸ ืึท ื ื™ื™ึทืข T-SQL ืคื•ื ืงืฆื™ืข ื’ืขืจื•ืคืŸ MATCH (). ื–ื™ื ื˜ ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ื– ื’ืขื‘ื•ื™ื˜ ืื™ืŸ SQL Server 2017, ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ื“ื™ื™ืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ืึธืŸ ืงื™ื™ืŸ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ.

Benefits ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืง ืžืึธื“ืขืœ

ื”ื™ื™ึทื ื˜, ื’ืขืฉืขืคื˜ืŸ ืื•ืŸ ื™ื•ื–ืขืจื– ืคืึธื“ืขืจืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ืฉืขืคึผืŸ ืžืขืจ ืื•ืŸ ืžืขืจ ื“ืึทื˜ืŸ, ื‘ืฉืขืช ื–ื™ื™ ื“ืขืจื•ื•ืึทืจื˜ืŸ ื”ื•ื™ืš ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื•ืŸ ืจื™ืœื™ื™ืึทื‘ื™ืœืึทื˜ื™. ืจืขืคึผืจื™ื–ืขื ื˜ื™ื ื’ ื“ืึทื˜ืŸ ื•ื•ื™ ืึท ื’ืจืึทืคื™ืง ืึธืคืคืขืจืก ืึท ื‘ืึทืงื•ื•ืขื ืžื™ื˜ืœ ืคื•ืŸ ื”ืึทื ื“ืœื™ื ื’ ืงืึธืžืคึผืœืขืงืก ื‘ืืฆื™ื•ื ื’ืขืŸ. ื“ืขืจ ืฆื•ื’ืึทื ื’ ืกืึทืœื•ื•ื– ืคื™ืœืข ืคึผืจืึธื‘ืœืขืžืก ืื•ืŸ ื”ืขืœืคึผืก ืฆื• ื‘ืึทืงื•ืžืขืŸ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืื™ืŸ ืึท ื’ืขื’ืขื‘ืŸ ืงืึธื ื˜ืขืงืกื˜.

ืขืก ืงื•ืงื˜ ื•ื•ื™ ืคื™ืœืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืขื˜ ื ื•ืฅ ืคื•ืŸ ื ื™ืฆืŸ ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜.

ื“ืึทื˜ืึท ืžืึธื“ืขืœื™ื ื’: ืคึฟื•ืŸ ืจื™ืœื™ื™ืฉืึทื ืึทืœ ืฆื• ื’ืจืึทืคื™ืง ืžืึธื“ืขืœ

ื”ืงื“ืžื” ืฆื• SQL Server 2017 ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–
ื‘ื™ื™ึทืฉืคึผื™ืœ

ืœืึธืžื™ืจ ืงื•ืงืŸ ืื•ื™ืฃ ืึท ื‘ื™ื™ืฉืคึผื™ืœ ืคื•ืŸ ืึทืŸ ืึธืจื’ืึทื ืึทื–ื™ื™ืฉืึทื ืึทืœ ืกื˜ืจื•ืงื˜ื•ืจ ืžื™ื˜ ืึท ื›ื™ื™ืขืจืึทืจืงื™ ืคื•ืŸ ืึธื ื’ืขืฉื˜ืขืœื˜ืขืจ: ืึทืŸ ืึธื ื’ืขืฉื˜ืขืœื˜ืขืจ ืžืขืœื“ืขื˜ ืฆื• ืึท ืคืึทืจื•ื•ืึทืœื˜ืขืจ, ืึท ืคืึทืจื•ื•ืึทืœื˜ืขืจ ืจื™ืคึผืึธืจืฅ ืฆื• ืึท ืขืœื˜ืขืจ ืคืึทืจื•ื•ืึทืœื˜ืขืจ, ืื•ืŸ ืึทื–ื•ื™ ืื•ื™ืฃ. ื“ืขืคึผืขื ื“ื™ื ื’ ืื•ื™ืฃ ื“ื™ ืกืคึผืขืฆื™ืคื™ืฉ ืคื™ืจืžืข, ืขืก ืงืขืŸ ื–ื™ื™ืŸ ืงื™ื™ืŸ ื ื•ืžืขืจ ืคื•ืŸ ืœืขื•ื•ืขืœืก ืื™ืŸ ื“ืขื ื›ื™ื™ืขืจืึทืจืงื™. ืื‘ืขืจ ื•ื•ื™ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืœืขื•ื•ืขืœืก ื™ื ืงืจื™ืกื™ื–, ืงืึทืœืงื™ืึทืœื™ื™ื˜ื™ื ื’ ื‘ืืฆื™ื•ื ื’ืขืŸ ืื™ืŸ ืึท ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื“ืึทื˜ืึทื‘ื™ื™ืก ื•ื•ืขืจื˜ ืžืขืจ ืื•ืŸ ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜. ืขืก ืื™ื– ื’ืึทื ืฅ ืฉื•ื•ืขืจ ืฆื• ื™ืžืึทื“ื–ืฉืึทืŸ ื“ื™ ื›ื™ื™ืขืจืึทืจืงื™ ืคื•ืŸ ืขืžืคึผืœื•ื™ื™ื–, ื›ื™ื™ืขืจืึทืจืงื™ ืื™ืŸ ืคึฟืึทืจืงื•ื™ืฃ ืึธื“ืขืจ ืงืึทื ืขืงืฉืึทื ื– ืื™ืŸ ื’ืขื–ืขืœืฉืึทืคื˜ืœืขืš ื ืขื˜ื•ื•ืึธืจืงืก. ื–ืืœ ืก ื–ืขืŸ ื•ื•ื™ SQL Graph ืงืขื ืขืŸ ืกืึธืœื•ื•ืข ื“ื™ ืคึผืจืึธื‘ืœืขื ืคื•ืŸ ื”ืึทื ื“ืœื™ื ื’ ืคืึทืจืฉื™ื“ืขื ืข ืœืขื•ื•ืขืœืก ืคื•ืŸ ื›ื™ื™ืขืจืึทืจืงื™.

ืคึฟืึทืจ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ ืžื™ืจ ื•ื•ืขืœืŸ ืžืึทื›ืŸ ืึท ืคึผืฉื•ื˜ ื“ืึทื˜ืŸ ืžืึธื“ืขืœ. ื–ืืœ ืก ืžืึทื›ืŸ ืึท ื˜ื™ืฉ ืคื•ืŸ ืขืžืคึผืœื•ื™ื™ื– ืขืžืคึผ ืžื™ื˜ ID EMPNO ืื•ืŸ ื–ื™ื™ึทืœ ืž.ื’.ืจ., ื™ื ื“ืึทืงื™ื™ื˜ื™ื ื’ ื“ื™ ื™ื“ืขื ื˜ื™ืคื™ืขืจ ืคื•ืŸ ื“ืขืจ ืึธื ื’ืขืฉื˜ืขืœื˜ืขืจ ืก ืžืึทืฉื’ื™ืขืš (ืคืึทืจื•ื•ืึทืœื˜ืขืจ). ืึทืœืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ื›ื™ื™ืขืจืึทืจืงื™ ืื™ื– ืกื˜ืึธืจื“ ืื™ืŸ ื“ืขื ื˜ื™ืฉ ืื•ืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงื•ื•ืขืจื“ ืžื™ื˜ ืฉืคืืœื˜ืŸ EMPNO ะธ ืž.ื’.ืจ..

ื”ืงื“ืžื” ืฆื• SQL Server 2017 ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–
ื“ื™ ืคืืœื’ืขื ื“ืข ื“ื™ืึทื’ืจืึทืžืข ื•ื•ื™ื™ื–ื˜ ื“ื™ ื–ืขืœื‘ืข ืึธืจื’ืึทื ืึทื–ื™ื™ืฉืึทื ืึทืœ ืกื˜ืจื•ืงื˜ื•ืจ ืžืึธื“ืขืœ ืžื™ื˜ ืคื™ืจ ืœืขื•ื•ืขืœืก ืคื•ืŸ ื ืขืกื˜ื™ื ื’ ืื™ืŸ ืึท ืžืขืจ ื‘ืึทืงืึทื ื˜ ืคืึธืจืขื. ืขืžืคึผืœื•ื™ื™ื– ื–ืขื ืขืŸ ื“ื™ ื•ื•ืขืจื˜ื™ืงืึทืœื– ืคื•ืŸ ืึท ื’ืจืึทืคื™ืง ืคื•ืŸ ืึท ื˜ื™ืฉ ืขืžืคึผ. ื“ืขืจ ืขื ื˜ื™ื˜ื™ "ืึธื ื’ืขืฉื˜ืขืœื˜ืขืจ" ืื™ื– ืงืึธื ื ืขืงื˜ืขื“ ืฆื• ื–ื™ืš ื“ื•ืจืš ื“ื™ ืงืฉืจ "ืกื•ื‘ืžื™ืฅ" (ReportsTo). ืื™ืŸ ื’ืจืึทืคื™ืง ื˜ืขืจืžื™ื ืขืŸ, ืึท ืœื™ื ืง ืื™ื– ืึท ื‘ืจืขื’ (EDGE) ื•ื•ืึธืก ืงืึทื ืขืงืฅ ื ืึธื•ื“ื– (NODE) โ€‹โ€‹ืคื•ืŸ ืขืžืคึผืœื•ื™ื™ื–.

ื”ืงื“ืžื” ืฆื• SQL Server 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 Server 2017 ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–
ืื™ืฆื˜ ืœืึธื–ืŸ ืก ืงื•ืง ืื™ืŸ ืึท ื’ืจืึทืคื™ืง ืคืึทืจื˜ืจืขื˜ื•ื ื’ ืคื•ืŸ ื“ื™ ื–ืขืœื‘ืข ื“ืึทื˜ืŸ. ื“ืขืจ ืขืžืคึผืœื•ื™ืขืข ื•ื•ืขืจื˜ืขืงืก ื”ืื˜ ืขื˜ืœืขื›ืข ืึทื˜ืจื™ื‘ื™ื•ืฅ ืื•ืŸ ืื™ื– ืคืืจื‘ื•ื ื“ืŸ ืฆื• ื–ื™ืš ื“ื•ืจืš ื“ื™ "ืกืึทื‘ืึธืจื“ืึทื ื™ื™ืฅ" ืฉื™ื™ื›ื•ืช (EmplReportsTo). EmplReportsTo ืื™ื– ื“ืขืจ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ืฉื™ื™ื›ื•ืช.

ื“ื™ ื‘ืจืขื’ ื˜ื™ืฉ (EDGE) ืงืขืŸ ืื•ื™ืš ืึทื ื˜ื”ืึทืœื˜ืŸ ืึทื˜ืจื™ื‘ื™ื•ืฅ.

ื”ืงื“ืžื” ืฆื• SQL Server 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 Server 2017 ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–
ืื™ืŸ ื“ื™ ื˜ื™ืฉ ืคื•ืŸ ื ืึธื•ื“ื– ืื™ืŸ ืึท ืกืคึผืขืฆื™ืขืœ ื–ื™ื™ึทืœ $node_id_* ื“ื™ ื ืึธื“ืข ืื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ืื™ื– ืกื˜ืึธืจื“ ื•ื•ื™ JSON. ื“ื™ ืจื•ืขืŸ ืฉืคืืœื˜ืŸ ืคื•ืŸ ื“ืขื ื˜ื™ืฉ ืึทื ื˜ื”ืึทืœื˜ืŸ ื“ื™ ืึทื˜ืจื™ื‘ื™ื•ืฅ ืคื•ืŸ ื“ื™ ื ืึธื“ืข.

ืฉืึทืคึฟืŸ ืขื“ื–ืฉืึทื– (EDGE)

ืฉืืคืŸ ืึท ื‘ืจืขื’ ื˜ื™ืฉ ืื™ื– ื–ื™ื™ืขืจ ืขื ืœืขืš ืฆื• ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื ืึธื“ืข ื˜ื™ืฉ, ืึทื—ื•ืฅ ืึทื– ื“ื™ ืงื™ื•ื•ืขืจื“ ืื™ื– ื’ืขื ื™ืฆื˜ "ื•ื•ื™ ื‘ืจืขื’".

CREATE TABLE empReportsTo(Deptno int) AS EDGE

ื”ืงื“ืžื” ืฆื• SQL Server 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. ืื™ื–_ื‘ืจืขื’
  2. ืื™ื–_ื ืึธื“ืข

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

ื”ืงื“ืžื” ืฆื• SQL Server 2017 ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–

ssms

ืึทื‘ื“ื–ืฉืขืงืฅ ืฉื™ื™ึทื›ื•ืช ืฆื• ื’ืจืึทืคืก ื–ืขื ืขืŸ ืœื™ื’ืŸ ืื™ืŸ ื“ื™ ื’ืจืึทืคื™ืง ื˜ืึทื‘ืœืขืก ื˜ืขืงืข. ื“ืขืจ ื ืึธื“ืข ื˜ื™ืฉ ื‘ื™ืœื“ืœ ืื™ื– ืื ื’ืขืฆื™ื™ื›ื ื˜ ืžื™ื˜ ืึท ืคึผื•ื ืงื˜, ืื•ืŸ ื“ื™ ื‘ืจืขื’ ื˜ื™ืฉ ื‘ื™ืœื“ืœ ืื™ื– ืื ื’ืขืฆื™ื™ื›ื ื˜ ืžื™ื˜ ืฆื•ื•ื™ื™ ืคืืจื‘ื•ื ื“ืŸ ืงืจื™ื™ื–ืŸ (ืึท ื‘ื™ืกืœ ื•ื•ื™ ื‘ืจื™ืœืŸ).

ื”ืงื“ืžื” ืฆื• SQL Server 2017 ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–

MATCH ืื•ื™ืกื“ืจื•ืง

ืื•ื™ืกื“ืจื•ืง ื’ืœื™ื™ึทื›ืŸ ื’ืขื ื•ืžืขืŸ ืคึฟื•ืŸ CQL (Cypher Query Language). ื“ืึธืก ืื™ื– ืึทืŸ ืขืคืขืงื˜ื™ื•ื• ื•ื•ืขื’ ืฆื• ืึธื ืคึฟืจืขื’ ื“ื™ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืคื•ืŸ ืึท ื’ืจืึทืคื™ืง. 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

ืขืงืกืึทืžืคึผืœืขืก

ื–ืืœ ืก ืงื•ืง ื‘ื™ื™ึท ืึท ื‘ื™ืกืœ ื‘ื™ื™ืฉืคื™ืœืŸ.

ื“ื™ ืึธื ืคึฟืจืขื’ ืื•ื ื˜ืŸ ื“ื™ืกืคึผืœื™ื™ื– ื“ื™ ืขืžืคึผืœื•ื™ื™ื– ืฆื• ื•ื•ืขืžืขืŸ Smith ืื•ืŸ ื–ื™ื™ืŸ ืคืึทืจื•ื•ืึทืœื˜ืขืจ ื‘ืึทืจื™ื›ื˜.

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 Server 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 Server 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 Server 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 Server 2017 ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–

ืกืึธืฃ

SQL Server 2017 ื”ืื˜ ื’ืขื’ืจื™ื ื“ืขื˜ ื–ื™ืš ื•ื•ื™ ืึท ื’ืึทื ืฅ ืคืึทืจื ืขืžื•ื ื’ ืœื™ื™ื–ื•ื ื’ ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืŸ ืขืก ื’ืขืฉืขืคื˜ ื˜ืึทืกืงืก. ื“ืขืจ ืขืจืฉื˜ืขืจ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹SQL Graph ืื™ื– ื–ื™ื™ืขืจ ืคึผืจืึทืžืึทืกื™ื ื’. ืืคื™ืœื• ื˜ืจืึธืฅ ืขื˜ืœืขื›ืข ืœื™ืžื™ื˜ื™ื™ืฉืึทื ื–, ืขืก ืื™ื– ืฉื•ื™ืŸ ื’ืขื ื•ื’ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืฆื• ื•ื™ืกืคืึธืจืฉืŸ ื“ื™ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืคื•ืŸ ื’ืจืึทืคืก.

SQL Graph ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ื– ื’ืึธืจ ื™ื ืึทื’ืจื™ื™ื˜ื™ื“ ืื™ืŸ SQL Engine. ืึธื‘ืขืจ, ื•ื•ื™ ืฉื•ื™ืŸ ืกื˜ื™ื™ื˜ื™ื“, SQL Server 2017 ื”ืื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ืœื™ืžื™ื˜ื™ื™ืฉืึทื ื–:

ืงื™ื™ืŸ ืคึผืึทืœื™ืžืึธืจืคื™ืกื ืฉื˜ื™ืฆืŸ.

  • ื‘ืœื•ื™ื– ื•ื ื™ื“ื™ืจืขืงื˜ื™ืึธื ืึทืœ ืงืึทื ืขืงืฉืึทื ื– ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜.
  • ืขื“ื–ืฉืึทื– ืงืขื ืขืŸ ื ื™ืฉื˜ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ $from_id ืื•ืŸ $to_id ืฉืคืืœื˜ืŸ ื“ื•ืจืš UPDATE.
  • ื˜ืจืึทื ืกื™ื˜ื™ื•ื•ืข ืงืœืึธื•ื–ืฉืขืจื– ื–ืขื ืขืŸ ื ื™ืฉื˜ ื’ืขืฉื˜ื™ืฆื˜, ืึธื‘ืขืจ ื–ื™ื™ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื‘ืืงื•ืžืขืŸ ืžื™ื˜ CTE.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึธืœื˜ืคึผ ืึทื‘ื“ื–ืฉืขืงืฅ ืื™ืŸ ื–ื›ึผืจื•ืŸ ืื™ื– ืœื™ืžื™ื˜ืขื“.
  • ื˜ืขืžืคึผืขืจืึทืœ ื˜ื™ืฉืŸ (ืกื™ืกื˜ืขื-ื•ื•ืขืจืกื™ืึธื ืขื“ ื˜ืขืžืคึผืขืจืึทืœ ื˜ื™ืฉ), ืฆื™ื™ึทื˜ื•ื•ื™ื™ึทืœื™ืง ื”ื™ื’ืข ืื•ืŸ ื’ืœืื‘ืืœืข ื˜ื™ืฉืŸ ื–ืขื ืขืŸ ื ื™ืฉื˜ ื’ืขืฉื˜ื™ืฆื˜.
  • ื˜ื™ืฉ ื˜ื™ื™ืคึผืก ืื•ืŸ ื˜ื™ืฉ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ื“ืขืจืงืœืขืจื˜ ื•ื•ื™ NODE ืึธื“ืขืจ EDGE.
  • ืงืจื™ื™ื–-ื“ืึทื˜ืึทื‘ื™ื™ืก ืงื•ื•ื™ืจื™ื– ื–ืขื ืขืŸ ื ื™ืฉื˜ ื’ืขืฉื˜ื™ืฆื˜.
  • ืขืก ืื™ื– ืงื™ื™ืŸ ื“ื™ืจืขืงื˜ ื•ื•ืขื’ ืึธื“ืขืจ ืžืึทื–ืขืง ืฆื• ื‘ื™ื™ึทื˜ืŸ ืจืขื’ื•ืœืขืจ ื˜ื™ืฉืŸ ืฆื• ื’ืจืึทืคื™ืง ื˜ื™ืฉืŸ.
  • ืขืก ืื™ื– ืงื™ื™ืŸ GUI ืฆื• ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ ื’ืจืึทืคืก, ืึธื‘ืขืจ ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ Power BI.

ื”ืงื“ืžื” ืฆื• SQL Server 2017 ื’ืจืึทืคื™ืง ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–

ืœื™ื™ืขื ืขืŸ ืžืขืจ:

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’