แแฃแ แกแแก แแแฌแงแแแแแแ
แแ แแคแแแฃแแ แแแแแชแแแแ แแแแแแ แแแแจแแแแแแแแแ แขแแฅแแแแแแแแ แแแแแชแแแแ แแแแแก แแ แแคแแกแแแแแแแแแกแแแแก. แแชแแแแแ แแแแงแแ แแ แกแคแแ แแจแ แแ แกแแแฃแ แแแแแแชแแแแกแ แแ แแฎแแ แขแแฅแแแแแแแแแก แแ แ แแแแชแแฃแ แแ NoSQL แแแแแชแแแแ แแแแแแแแ แแฃแจแแแแแก แจแแแแแ แแฎแแแแ, แ แแ แแ แแคแแแฃแแ แแแแแแแก แ แแแ แกแฃแ แฃแคแ แ แแ แฃแคแ แ แแแขแ แฎแแแแ. แแแแแแแฅแกแฃแ แแแ แแ แฅแแฃแ แแแแแชแแแแแแแ แแฃแจแแแแแกแแก แแ แ แแฎแแแแ แขแ แแแแชแแฃแแ แแแแแชแแแแ แแแแแแ, แแ แแแแ NoSQLแแช แแ แแแคแแฅแขแฃแ แแ. แฎแจแแ แแ, แแแฃแแแแแก แแแแแกแ แแ แแแแแชแแแแ แแแแแก แแแแแก แแแขแแแแกแแแ แแ แแแ, แฎแแแแ แจแแกแ แฃแแแแแก แจแแแชแแ แแแ. แแ แ แแช แฃแคแ แ แ แแฃแแ แฎแแแแ แฃแ แแแแ แแแแแแ, แแกแแแ แแแ แแแแ JOIN-แแแแก แ แแแแแแแแ.
แ แ แแฅแแ แฃแแแ, แ แแแแชแแฃแ แแแแแแจแ แแ แแก แแแแแฌแงแแแขแแแแแแแ แแแ แแ แฅแแแแแแ แแฃแจแแแแแกแแแแก (แแแแแแแแแ, แ แแแฃแ แกแแฃแแ CTE-แแแแก แแแแแงแแแแแแ), แแแแ แแ แแก แแแแแช แแแแแกแแแแแแ. แแแแแแ แแฃแแแ, SQL Server แแ แแคแแแแก แแแแแชแแแแ แแแแแแแก แคแฃแแฅแชแแแแแแแแ แแแแแแแแแก แแแ แแ แฅแแแก แแ แแแแ แแแแแก แแแ แแแแก. แแแแแชแแแแ แแแแแแแช แแ แแแแฎแแแแแแแช แแแแแ แขแแแแแฃแแแ แแ แจแแกแแแแแแกแแ แแแ แแแแ แแแแ แแคแแฅแขแฃแ แแแ. แกแแแ แซแแแแแแ แแแชแแ แแแก แแแแแก แ แแแแแแแแแก.
แแ แแคแแแฃแแ แแแแแชแแแแ แแแแแแ แแ แแก แแฅแกแแ แแกแแฃแแ แแแ แ แแฃแแ แกแแกแขแแแแแแก แฌแแ แแแกแแแแแแแ. แแก แขแแฅแแแแแแแ แฃแแแ แกแแแแแแ แคแแ แแแ แแแแแแงแแแแแ IT แแแแฃแกแขแ แแแจแ แแกแแ แกแคแแ แแแแจแ, แ แแแแ แแชแแ แกแแชแแแแฃแ แ แฅแกแแแแแ, แแแฆแแแแแแแก แกแแฌแแแแแฆแแแแแ แกแแกแขแแแแแ, IT แฅแกแแแแก แแแแแแแ, แกแแชแแแแฃแ แ แ แแแแแแแแแชแแแแ, แแ แแแฃแฅแขแแแแกแ แแ แจแแแแแ แกแแก แ แแแแแแแแแชแแแแ.
แแ แแคแแแฃแแ แแแแแชแแแแ แแแแแก แคแฃแแฅแชแแแแแแแแ SQL Server-แจแ แจแแกแแคแแ แแกแแ แกแชแแแแ แแแแกแแแแก, แกแแแแช แแแแแชแแแแแ แซแแแแแ แฃแ แแแแ แแแแแแแจแแ แแแฃแแแ แแ แแฅแแก แแแ แแแ แแแแกแแแฆแแ แฃแแ แฃแ แแแแ แแแแแแ.
แแ แแคแแแแก แแแแแชแแแแ แแแแแแ
แแ แแคแแแ แแ แแก แฌแแแ แแแแแก (แแแแแซแแแ, แแแแแซแแแ) แแ แแแแแแแแก (แแแแแแจแแ แแแ, แแแแ) แแ แแแแแแแแ. แฌแแแ แแแแ แฌแแ แแแแแแแแก แแ แแแฃแแแแก, แฎแแแ แแแแแแแ แฌแแ แแแแแแแแก แแแฃแแแแก, แ แแแแแแ แแขแ แแแฃแขแแแ แจแแแซแแแแ แจแแแชแแแแแก แแแคแแ แแแชแแแก.
แแ แแคแแแแก แแแแแชแแแแ แแแแ แแงแแแแแแแก แแ แแแฃแแแแก, แ แแแแ แช แแ แแคแแแก, แ แแแแ แช แแก แแแแกแแแฆแแ แฃแแแ แแ แแคแแแแก แแแแ แแแจแ. แแแแแชแแแแ แกแขแ แฃแฅแขแฃแ แแแ แแ แแก แฌแแแ แแแแ แแ แแแแแแแ. แแขแ แแแฃแขแแแ แแ แแก แฌแแแ แแแแแกแ แแ แแแแแแแแก แแแแกแแแแแ. แแแแจแแ แ แแ แแก แฌแแแ แแแแแก แแแแจแแ แ.
แกแฎแแ แแแแแชแแแแ แแแแแแแแแกแแแ แแแแกแฎแแแแแแแ, แแ แแคแแแแก แแแแแชแแแแ แแแแแแ แแ แแแ แแขแแขแก แแแแญแแแแ แฃแ แแแแ แแแแแแก แแ แแแฃแแแแก แจแแ แแก. แแแแขแแ, แแ แแ แแก แกแแญแแ แ แฃแ แแแแ แแแแแแแก แแแแแแแแ แฃแชแฎแ แแแแแแจแแแแก แแแแแงแแแแแแ แแ แกแฎแแ แแแแ. แจแแกแแซแแแแแแแ แแแแแชแแแแ แ แแฃแแ แแแแแแแแแก แจแแฅแแแ แแฎแแแแ แฌแแแ แแแแแก แแ แแแแแแแแก แแแกแขแ แแฅแชแแแแแก แแแแแงแแแแแแ.
แแฆแแแแแแแ แกแแแงแแ แแจแ แฃแ แแแแ แแแแแแแก แแแแแแแ แแแ แกแฃแ แฃแคแ แ แแ แฃแคแ แ แแแฎแแแฌแแ แขแแฅแแแแแก แแแแแฎแแแก. แฃแ แแแแ แแแแแแแก แแแแแแแ แแแแกแแแแก, SQL Server 2017 แแแแแแแแแ แแ แแคแแแแก แแแแแชแแแแ แแแแแก แจแแกแแซแแแแแแแแแก. แแ แแคแแก แฌแแแ แแแแ แแ แแแแแแแ แฌแแ แแแแแแแแแแ แแฎแแแ แขแแแแก แชแฎแ แแแแแแก แกแแฎแแ: NODE แแ EDGE. แแ แแคแแแฃแแ แแแแฎแแแแแแ แแงแแแแแก แแฎแแ T-SQL แคแฃแแฅแชแแแก, แกแแฎแแแแ MATCH(). แแแแแแแแ แแก แคแฃแแฅแชแแ แฉแแจแแแแแฃแแแ SQL Server 2017-แจแ, แแก แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแฅแแแแก แแ แกแแแฃแ แแแแแชแแแแ แแแแแแจแ แแแแแชแแแแ แแแแแก แแแแแแ แขแแชแแแก แแแ แแจแ.
แแ แแคแแแฃแแ แแแแแแแก แฃแแแ แแขแแกแแแแแ
แแฆแแกแแฆแแแแแ, แแแแแแกแ แแ แแแแฎแแแ แแแแแแ แแแฎแแแแ แแแแแแแชแแแแก, แ แแแแแแแช แแฃแจแแแแแ แฃแคแ แ แแ แฃแคแ แ แแแข แแแแแชแแแแแแแ แแ แแแ, แแแฆแแแ แจแแกแ แฃแแแแแก แแ แกแแแแแแแแแแก แแแแแแแแจแ. แแแแแชแแแแ แแ แแคแแแฃแแ แฌแแ แแแแแแแ แแแแแแแแแแก แแแกแแฎแแ แฎแแแแ แกแแจแฃแแแแแแก แ แแฃแแ แฃแ แแแแ แแแแแแแก แแแกแแแฃแจแแแแแแแ. แแก แแแแแแแ แแแแแ แแแก แแแแ แแ แแแแแแแก แแ แแฎแแแ แแแ แจแแแแแแก แแแฆแแแแก แแแชแแแฃแ แแแแขแแฅแกแขแจแ.
แ แแแแ แช แฉแแแก, แแแแ แ แแแแแแแชแแ แแกแแ แแแแแแแก แแ แแคแแแแก แแแแแชแแแแ แแแแแแแ แแแแแแแแจแ.
แแแแแชแแแแ แแแแแแแ แแแ: แฃแ แแแแ แแแแแแแแแ แแ แแคแแแฃแ แแแแแแแ แแแแแแ
แแแแแแแแ
แแแแแ แจแแแฎแแแแ แแ แแแแแแแชแแฃแแ แกแขแ แฃแฅแขแฃแ แแก แแแแแแแแก แแแแแแจแ แแแแแแ แแแ แแ แฅแแแ: แแแแแแจแ แแแแแ แแแแแ แแจแก แฃแฌแแแก แแแแแฏแแ แก, แแแแแฏแแ แ แแแแแ แแจแก แฃแฌแแแก แฃแคแ แแก แแแแแฏแแ แก แแ แ.แจ. แแแแแ แแขแฃแแ แแแแแแแแแก แแแฎแแแแแ, แแ แแแ แแ แฅแแแจแ แจแแแซแแแแ แแงแแก แแแแแกแแแแ แ แ แแแแแแแแแก แแแแ. แแแแ แแ แ แแแแ แช แแแแแแแแก แ แแแแแแแแ แแแ แแแแ, แฃแ แแแแ แแแแแแแก แแแแแแแแ แฃแ แแแแ แแแแแแแก แแแแแชแแแแ แแแแแจแ แฃแคแ แ แแ แฃแคแ แ แ แแฃแแ แฎแแแแ. แกแแแแแแ แ แแฃแแ แฌแแ แแแกแแแแแแแ แแแแแแจแ แแแแแแแก แแแ แแ แฅแแ, แแแ แแ แฅแแ แแแ แแแขแแแแแกแ แแฃ แกแแชแแแแฃแ แ แแแแแแก แแแแจแแ แแแจแ. แแแแฎแแ, แ แแแแ แจแแฃแซแแแ SQL Graph-แก แแแแแญแ แแก แแแ แแ แฅแแแก แกแฎแแแแแกแฎแแ แแแแแก แแแแฃแจแแแแแแก แแ แแแแแแ.
แแ แแแแแแแแแกแแแแก, แแแแแ แแแแแแแแแ แแแ แขแแแ แแแแแชแแแแ แแแแแแ. แจแแฅแแแแแ แแแแแแจแ แแแแแแแก แชแฎแ แแแ EMP ID-แแ EMPNO แแ แกแแแขแ แ.แ.แ .A, แ แแแแแแช แแแฃแแแแแแก แแแแแแจแ แแแแแก แฎแแแแซแฆแแแแแแแก (แแแแแฏแแ แแก) แแแ แแแแแแก แแแฌแแแแแแ. แแแ แแ แฅแแแก แจแแกแแฎแแ แงแแแแ แแแคแแ แแแชแแ แแแแฎแแแ แแ แชแฎแ แแแจแ แแ แจแแแซแแแแ แแแแซแแแ แกแแแขแแแแก แแแแแงแแแแแแ EMPNO ะธ แ.แ.แ ..
แจแแแแแแ แแแแแ แแแ แแกแแแ แแแแฉแแแแแแก แแแแแ แแ แแแแฃแแ แแแแแ แแแแก แแแแแแก แแฃแแแแแแก แแแฎแ แแแแแก แแฅแแแ แฃแคแ แ แแแชแแแแ แคแแ แแแ. แแแแแแจแ แแแแแแ แแ แแก แแ แแคแแแแก แฌแแแ แแแแ แชแฎแ แแแแแแ EMP. แกแฃแแแแฅแขแ โแแฃแจแแแโ แแแแแแจแแ แแแฃแแแ แกแแแฃแแแ แแแแแแ แฃแ แแแแ แแแแแ โsubmitsโ (ReportsTo). แแ แแคแแแแก แแแแแกแแแ แแกแแ, แแแฃแแ แแ แแก แแฆแแแ แ (EDGE), แ แแแแแแช แแแแแจแแ แแแก แแแแแแจแ แแแแแแแก แแแแแซแแแก (NODEs).
แจแแแฅแแแแ แฉแแแฃแแแแ แแแ แชแฎแ แแแ EMP แแ แแแแแแขแแ แแแแจแแแแแแแแแ แแฅ แแแแแ แกแฅแแแแก แแแฎแแแแแ.
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
แแฎแแ แแแแฎแแ แแแแแ แแแแแชแแแแแแก แแแแแกแแฎแแ แแ แแคแแก แกแแฎแแ. EMPLOYEE แแแแแซแก แแฅแแก แ แแแแแแแแ แแขแ แแแฃแขแ แแ แฃแแแแจแแ แแแแ แกแแแฃแแแ แแแแก "submits" แฃแ แแแแ แแแแแ (EmplReportsTo). EmplReportsTo แแ แแก แฃแ แแแแ แแแแแก แกแแฎแแแ.
แแแแแแแแก แชแฎแ แแแก (EDGE) แแกแแแ แจแแแซแแแแ แฐแฅแแแแแก แแขแ แแแฃแขแแแ.
แจแแฅแแแแแ แแแแแซแแแแก แชแฎแ แแแ 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 แแแแแกแแแก แแแแแชแแแแแก แแแแแ แแแแแแ แชแฎแ แแแแแแ EMP.
INSERT INTO EmpNode(EMPNO,ENAME,MGR,DNO) select empno,ename,MGR,dno from emp
แแแแแซแแก แชแฎแ แแแจแ แกแแแชแแแแฃแ แกแแแขแจแ $node_id_*
แฐแแกแขแแก ID แแแแฎแแแ แ แแแแ แช JSON. แแ แชแฎแ แแแแก แแแ แฉแแแแแ แกแแแขแแแ แจแแแชแแแก แแแแแซแแก แแขแ แแแฃแขแแแก.
แแแแแแแแก แจแแฅแแแ (EDGE)
แแแแแแแแก แชแฎแ แแแแก แจแแฅแแแ แซแแแแแ แฐแแแแก แแแแแซแแก แชแฎแ แแแแก แจแแฅแแแแก, แแแ แแ แกแแแแแแซแ แกแแขแงแแแกแ AS EDGE.
CREATE TABLE empReportsTo(Deptno int) AS EDGE
แแฎแแ แแแแแ แแแแแกแแแฆแแ แแ แฃแ แแแแ แแแแแแ แแแแแแจแ แแแแแแก แจแแ แแก แกแแแขแแแแก แแแแแงแแแแแแ EMPNO ะธ แ.แ.แ .. แแ แแแแฃแแ แกแฅแแแ แแแแแแ แแฉแแแแแแก, แแฃ แ แแแแ แฃแแแ แแแแฌแแ แแ INSERT.
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
แแ แแก แแ แ แแฎแแแ แกแแแขแ:
- แแ แแก_แแฆแแแ แ
- แแ แแก_แแแแแซแ
SELECT t.is_edge,t.is_node,*
FROM sys.tables t
WHERE name like 'emp%'
ssms
แแ แแคแแแแแแแ แแแแแแจแแ แแแฃแแ แแแแแฅแขแแแ แแแแแแแแแฃแแแ Graph Tables แกแแฅแแฆแแแแแจแ. แแแแแซแแก แชแฎแ แแแแก แฎแแขแฃแแ แแฆแแแแจแแแแ แฌแแ แขแแแแ, แฎแแแ แแแแแแแแก แชแฎแ แแแแก แฎแแขแฃแแ แแฆแแแแจแแแแ แแ แ แแแแแแจแแ แแแฃแแ แฌแ แแแแแ (แ แแแแแแช แชแแขแแแ แฐแแแแก แกแแแแแแแก).
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
แแแแแแแแแแ
แแแแแ แจแแแฎแแแแ แ แแแแแแแแ แแแแแแแแก.
แฅแแแแแ แแแงแแแแแแ แจแแแแแฎแแ แแฉแแแแแแก แแ แแแแแแจแ แแแแแแก, แ แแแแแแกแแช แกแแแขแ แแ แแแกแ แแแแแฏแแ แ แแชแแแแแแ.
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'
แจแแแแแแ แแแแฎแแแแ แแ แแก แกแแแขแแกแแแแก แแแแแแจแ แแแแแแแกแ แแ แแแแ แ แแแแแก แแแแแฏแแ แแแแก แแแกแแซแแแแแ. แแฃ แจแแแแแแแแแแแแก แแแแจแแ แแ WHERE, แจแแแแแ แงแแแแ แแแแแแจแ แแแแแ แแแแแฉแแแแแ แจแแแแแแ.
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'
แแ แแแแแก, แแแกแแแ แแแแแก แแแแแแจแ แแแแแแแกแ แแ แแแแแฏแแ แแแแก แแแแฎแแแแ.
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'
แแฎแแ แแแแแ แจแแแชแแแแแ แแแแแ แแฃแแแแ แกแแแขแแก แฃแคแ แแกแแแแก แแแกแแแแแแแแแ.
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 แแแแแแแแ แแ, แ แแแแ แช แกแ แฃแแ แกแแฌแแ แแแก แแแแแฌแงแแแขแ แกแฎแแแแแกแฎแแ แแแแแแก IT แกแแญแแ แแแแแแแกแแแแก. SQL Graph-แแก แแแ แแแแ แแแ แกแแ แซแแแแแ แแแ แกแแแฅแขแแฃแแแ. แแแ แแแแฃแแ แจแแแฆแฃแแแแแแก แแแฃแฎแแแแแแ, แฃแแแ แแ แแก แกแแแแแ แแกแ แคแฃแแฅแชแแแแแ แแแ แแ แแคแแแแแแก แจแแกแแซแแแแแแแแแแก แจแแกแแกแฌแแแแแ.
SQL Graph แคแฃแแฅแชแแแแแแแแ แกแ แฃแแแ แแ แแก แแแขแแแ แแ แแแฃแแ SQL Engine-แจแ. แแฃแแชแ, แ แแแแ แช แฃแแแ แแฆแแแแจแแแ, SQL Server 2017-แก แแฅแแก แจแแแแแแ แจแแแฆแฃแแแแแ:
แแแแแแแ แคแแแแแก แแฎแแ แแแญแแ แ แแ แแ แแก.
- แแฎแแ แแแญแแ แแแแ แแฎแแแแ แชแแแแฎแ แแแ แแแฃแแแแ.
- แแแแแแแก แแ แจแแฃแซแแแแ แแแแแแฎแแแ $from_id แแ $to_id แกแแแขแแแ UPDATE-แแก แกแแจแฃแแแแแแ.
- แแแ แแแแแแแแ แแแฎแฃแ แแ แแ แแ แแก แแฎแแ แแแญแแ แแแ, แแแแ แแ แแแแ แแแฆแแแ แจแแกแแซแแแแแแแ CTE-แแแแก แแแแแงแแแแแแ.
- แจแแแฆแฃแแฃแแ แแฎแแ แแแญแแ แ แแแฎแกแแแ แแแแจแ OLTP แแแแแฅแขแแแแกแแแแก.
- แแ แแแแแแ แชแฎแ แแแแแ (System-Versioned Temporal Table), แแ แแแแแแ แแแแแแฃแ แ แแ แแแแแแแฃแ แ แชแฎแ แแแแแ แแ แแ แแก แแฎแแ แแแญแแ แแแ.
- แชแฎแ แแแแก แขแแแแแ แแ แชแฎแ แแแแก แชแแแแแแแ แแ แจแแแซแแแแ แแแแแชแฎแแแแแก NODE แแ EDGE.
- แแแแแชแแแแ แแแแแแแแ แแแแแแจแแ แแแฃแแ แแแแฎแแแแแแ แแ แแ แแก แแฎแแ แแแญแแ แแแ.
- แแ แแ แกแแแแแก แแแ แแแแแ แ แแแ แแ แ แแแแ แกแแฎแแก แแกแขแแขแ (แแกแขแแขแ) แฉแแแฃแแแแ แแแ แชแฎแ แแแแแแก แแ แแคแแแฃแ แชแฎแ แแแแแแ แแแแแฅแชแแแแกแแแแก.
- แแ แแคแแแแแแก แกแแฉแแแแแแแแ แแ แแ แแก GUI, แแแแ แแ Power BI แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก.
แฒฌแแแแแแฎแ แแแขแ:
แฌแงแแ แ: www.habr.com