Субкварий мен коррелированные подвеска арасындағы айырмашылық

Келесі сұрау SQL Query қалыпты сұрау немесе Correlated Subquery?

SELECT UserID,
       FirstName,
       LastName,
       DOB,
       GFName,
       GLName,
       LoginName,
       LoginEffectiveDate,
       LoginExpiryDate,
       Password,
       Email,
       ReportingTo,
       Mobile,
       CommunicationPreference,
       IsActive
FROM   (SELECT row_number() OVER (ORDER BY FirstName) AS Row,
               UserID,
               FirstName,
               LastName,
               DOB,
               GFName,
               GLName,
               LoginName,
               LoginEffectiveDate,
               LoginExpiryDate,
               Password,
               Email,
               ReportingTo,
               Mobile,
               CommunicationPreference,
               IsActive
        FROM   DivakarUserRegistration)  T

Сондай-ақ, екеуінің арасындағы айырмашылықты біреу айта алады

33
Бұл шын мәнінде алынған кесте . Btw, сіз жақшаға және түпнұсқалық кесте үшін бүркеншікке көшіруге/қоюға алмадыңыз.
қосылды автор Nikola Markovinović, көзі

14 жауаптар

Жоғарыда келтірілген мысал Co-related Sub-Query емес. Бұл FROM тармағының ішіндегі Ішкі сұраудан кейін, Derived Table/Inline-View.

Корәлелген Ішкі сұрауда оның ата-анасының (басты сұрау) кестесі көрсетілуі керек. Мысалы, Co-related Sub-сұрау бойынша Nth max жалақысын табыңыз:

SELECT Salary 
FROM Employee E1
WHERE N-1 = (SELECT COUNT(*)
             FROM Employee E2
             WHERE E1.salary 

Бірлескен Vs Nested-SubQueries.

Кәдімгі Ішкі сұраныс пен Бірлескен қосалқы сұрау арасында техникалық айырмашылық:

1. Looping: Co-related sub-query loop under main-query; whereas nested not; therefore co-related sub-query executes on each iteration of main query. Whereas in case of Nested-query; subquery executes first then outer query executes next. Hence, the maximum no. of executes are NXM for correlated subquery and N+M for subquery.

2. Dependency(Inner to Outer vs Outer to Inner): In the case of co-related subquery, inner query depends on outer query for processing whereas in normal sub-query, Outer query depends on inner query.

3.Performance: Using Co-related sub-query performance decreases, since, it performs NXM iterations instead of N+M iterations. ¨ Co-related Sub-query Execution.

Мысалдармен толығырақ ақпарат алу үшін:

http: //dotnetauthorities.blogspot.in/2013/12/Microsoft-SQL-Server-Training-Online-Learning-Classes-Sql-Sub-Queries-Nested-Co-related.html

69
қосылды
NXM дегеніміз не? >>>>
қосылды автор Robert Rocha, көзі
Жоғарыда мысалда = ОР сұрауы ... әдетте сұраққа жауап береді, кейде басқа жауаптарға жауап береді, бірақ жауапты иеленушіге сілтеме жасайды ...
қосылды автор Felypp Oliveira, көзі
@nayeemDotNetAutorities «Мысал Co-related Sub-Query емес»? мұнда не болып жатыр? Егер ол басқа жауапқа қатысты болса, Plz басқа жауапқа жауап беру кезінде осындай салыстырмалы терминдерді қолдануға тыйым салады. Өйткені қазір жоғарыда болуы мүмкін өзгерістер кейінірек өзгеруі мүмкін.
қосылды автор KNU, көзі

Жоғарыда келтірілген мысал Co-related Sub-Query емес. Бұл FROM тармағының ішіндегі Ішкі сұраудан кейін, Derived Table/Inline-View.

Корәлелген Ішкі сұрауда оның ата-анасының (басты сұрау) кестесі көрсетілуі керек. Мысалы, Co-related Sub-сұрау бойынша Nth max жалақысын табыңыз:

SELECT Salary 
FROM Employee E1
WHERE N-1 = (SELECT COUNT(*)
             FROM Employee E2
             WHERE E1.salary 

Бірлескен Vs Nested-SubQueries.

Кәдімгі Ішкі сұраныс пен Бірлескен қосалқы сұрау арасында техникалық айырмашылық:

1. Looping: Co-related sub-query loop under main-query; whereas nested not; therefore co-related sub-query executes on each iteration of main query. Whereas in case of Nested-query; subquery executes first then outer query executes next. Hence, the maximum no. of executes are NXM for correlated subquery and N+M for subquery.

2. Dependency(Inner to Outer vs Outer to Inner): In the case of co-related subquery, inner query depends on outer query for processing whereas in normal sub-query, Outer query depends on inner query.

3.Performance: Using Co-related sub-query performance decreases, since, it performs NXM iterations instead of N+M iterations. ¨ Co-related Sub-query Execution.

Мысалдармен толығырақ ақпарат алу үшін:

http: //dotnetauthorities.blogspot.in/2013/12/Microsoft-SQL-Server-Training-Online-Learning-Classes-Sql-Sub-Queries-Nested-Co-related.html

69
қосылды
NXM дегеніміз не? >>>>
қосылды автор Robert Rocha, көзі
Жоғарыда мысалда = ОР сұрауы ... әдетте сұраққа жауап береді, кейде басқа жауаптарға жауап береді, бірақ жауапты иеленушіге сілтеме жасайды ...
қосылды автор Felypp Oliveira, көзі
@nayeemDotNetAutorities «Мысал Co-related Sub-Query емес»? мұнда не болып жатыр? Егер ол басқа жауапқа қатысты болса, Plz басқа жауапқа жауап беру кезінде осындай салыстырмалы терминдерді қолдануға тыйым салады. Өйткені қазір жоғарыда болуы мүмкін өзгерістер кейінірек өзгеруі мүмкін.
қосылды автор KNU, көзі

Байланыстырылған подключение - сыртқы сұраудан мәндерді пайдаланатын ішкі сұрау. Бұл жағдайда сыртқы сұраныстың әрбір жолына ішкі сұрау орындалуы керек.

See example here http://en.wikipedia.org/wiki/Correlated_subquery

Қарапайым ішкі сұраныс сыртқы сұраудан мәндерді қолданбайды және тек бір рет есептеледі:

SELECT id, first_name 
FROM student_details 
WHERE id IN (SELECT student_id
FROM student_subjects 
WHERE subject= 'Science'); 

CoRelated Subquery Example -

Сауалдамасы олардың бөліміне орташа жалақыдан жоғары қызметкерлерді табыңыз

 SELECT employee_number, name
       FROM employees emp
       WHERE salary > (
         SELECT AVG(salary)
           FROM employees
           WHERE department = emp.department);
38
қосылды
« Бұл жағдайда ішкі сұраныстың сыртқы сұраныстың әрбір жолы үшін орындалуы керек » - бұл логикалық орындалды деп ескеріңіз. Көптеген қазіргі заманғы оңтайландырушылар ықтимал жағдайда бірлескен субклюзияны біріктіруге қайта жазады (осылайша, қосалқы сұраудың қымбат жолмен орындалуын болдырмайды)
қосылды автор a_horse_with_no_name, көзі
Берілген мысалда коррелированный субквейерді көрмеймін.
қосылды автор Churk, көзі
Коррелирленген ішкі сұранымдарды қолдана отырып, қазіргі кездегі нашар орындалатын сұраулар коррелирленген ішкі сұранымдарды қолмен ауыстыру арқылы жетілдіріледі. Сонымен қатар, егер оңтайландырғыш осы тізімде біреу болмаса, не болады?
қосылды автор Used_By_Already, көзі
@a_horse_with_no_name «Көптеген қазіргі заманғы оңтайландырушылар мүмкін болған жағдайда бірлескен субккрементті біріктіруге қайта жазуы мүмкін», бұл дұрыс емес жалпылама жалпылама, мен оптимизатордың жаман кодты түзететініне сенбеймін. Байланыстырылған ішкі сұранымдар - RBAR, Row-By-Agonizing-Row іске қосатын циклдар және пайдаланушы кодынан аулақ болу керек. sqlservercentral.com/articles/Stairway+Series/105972 «коррелированный төменгі сұрау сыртқы сұраудағы әрбір үміткердің қатары үшін орындалуы керек «.
қосылды автор Davos, көзі
Мен колледждерімнен бұл коррелированный субкульфия екенін естідім. Бірақ, ішкі сұраныс дербес жұмыс істейтіндіктен, қалай түсінуге болатынын білмеймін. Мәселен, сұрау менің корреляциялық подсвечения немесе қалыпты подсвечение?
қосылды автор Divakar, көзі
Мұқият қайталаңыз
қосылды автор Alex, көзі
Онда коррелированный субкульфия жоқ
қосылды автор Alex, көзі
Бұл мысалда берілген қарапайым подсвечение, вики-сілтеме бойынша таба аласыз. Пожалуйста, жауапымды кешірім сұраймын
қосылды автор Alex, көзі

Байланыстырылған подключение - сыртқы сұраудан мәндерді пайдаланатын ішкі сұрау. Бұл жағдайда сыртқы сұраныстың әрбір жолына ішкі сұрау орындалуы керек.

See example here http://en.wikipedia.org/wiki/Correlated_subquery

Қарапайым ішкі сұраныс сыртқы сұраудан мәндерді қолданбайды және тек бір рет есептеледі:

SELECT id, first_name 
FROM student_details 
WHERE id IN (SELECT student_id
FROM student_subjects 
WHERE subject= 'Science'); 

CoRelated Subquery Example -

Сауалдамасы олардың бөліміне орташа жалақыдан жоғары қызметкерлерді табыңыз

 SELECT employee_number, name
       FROM employees emp
       WHERE salary > (
         SELECT AVG(salary)
           FROM employees
           WHERE department = emp.department);
38
қосылды
« Бұл жағдайда ішкі сұраныстың сыртқы сұраныстың әрбір жолы үшін орындалуы керек » - бұл логикалық орындалды деп ескеріңіз. Көптеген қазіргі заманғы оңтайландырушылар ықтимал жағдайда бірлескен субклюзияны біріктіруге қайта жазады (осылайша, қосалқы сұраудың қымбат жолмен орындалуын болдырмайды)
қосылды автор a_horse_with_no_name, көзі
Берілген мысалда коррелированный субквейерді көрмеймін.
қосылды автор Churk, көзі
Коррелирленген ішкі сұранымдарды қолдана отырып, қазіргі кездегі нашар орындалатын сұраулар коррелирленген ішкі сұранымдарды қолмен ауыстыру арқылы жетілдіріледі. Сонымен қатар, егер оңтайландырғыш осы тізімде біреу болмаса, не болады?
қосылды автор Used_By_Already, көзі
@a_horse_with_no_name «Көптеген қазіргі заманғы оңтайландырушылар мүмкін болған жағдайда бірлескен субккрементті біріктіруге қайта жазуы мүмкін», бұл дұрыс емес жалпылама жалпылама, мен оптимизатордың жаман кодты түзететініне сенбеймін. Байланыстырылған ішкі сұранымдар - RBAR, Row-By-Agonizing-Row іске қосатын циклдар және пайдаланушы кодынан аулақ болу керек. sqlservercentral.com/articles/Stairway+Series/105972 «коррелированный төменгі сұрау сыртқы сұраудағы әрбір үміткердің қатары үшін орындалуы керек «.
қосылды автор Davos, көзі
Мен колледждерімнен бұл коррелированный субкульфия екенін естідім. Бірақ, ішкі сұраныс дербес жұмыс істейтіндіктен, қалай түсінуге болатынын білмеймін. Мәселен, сұрау менің корреляциялық подсвечения немесе қалыпты подсвечение?
қосылды автор Divakar, көзі
Онда коррелированный субкульфия жоқ
қосылды автор Alex, көзі
Бұл мысалда берілген қарапайым подсвечение, вики-сілтеме бойынша таба аласыз. Пожалуйста, жауапымды кешірім сұраймын
қосылды автор Alex, көзі
Мұқият қайталаңыз
қосылды автор Alex, көзі

Төменгі сұрау - бұл басқа таңдау нұсқамасының тармағына енгізілген таңдамалы нұсқа.

Мысалы:

select ename, sal 
from emp  where sal > (select sal 
                       from emp where ename ='FORD');

Байланыстырылған ішкі сұрау - сыртқы сұрау немесе негізгі сұрау өңдеген әр жол үшін бір рет бағаланатын ішкі сұраныс. Сыртқы сұрау арқылы алынған мәнге негізделген Ішкі сұрауды орындау негізгі сұрау арқылы қайтарылған барлық мәндер сәйкес келеді. INNER сұрауына OUTER сұрауымен басқарылады.

Мысалы:

select empno,sal,deptid 
from emp e 
where sal=(select avg(sal) 
           from emp where deptid=e.deptid);

Айырмашылығы

Ішкі сұрау алдымен орындалады және мәнді табады, сыртқы сұрау бір рет ішкі сұраудан (ішкі сұрау)

Сыртқы сұрау арқылы алына отырып, сыртқы сұраныстың мәнін пайдаланып ішкі сұрауды орындаңыз, ішкі сұраудан туындайтын мәндерді сыртқы сұранысты білдіруге немесе дисквалифицирлеуге (корреляцияланған)

For more information : http://www.plsqlinformation.com/2016/03/Айырмашылығы-between-subquery-and-correlated-subquery.html

6
қосылды

Төменгі сұрау - бұл басқа таңдау нұсқамасының тармағына енгізілген таңдамалы нұсқа.

Мысалы:

select ename, sal 
from emp  where sal > (select sal 
                       from emp where ename ='FORD');

Байланыстырылған ішкі сұрау - сыртқы сұрау немесе негізгі сұрау өңдеген әр жол үшін бір рет бағаланатын ішкі сұраныс. Сыртқы сұрау арқылы алынған мәнге негізделген Ішкі сұрауды орындау негізгі сұрау арқылы қайтарылған барлық мәндер сәйкес келеді. INNER сұрауына OUTER сұрауымен басқарылады.

Мысалы:

select empno,sal,deptid 
from emp e 
where sal=(select avg(sal) 
           from emp where deptid=e.deptid);

Айырмашылығы

Ішкі сұрау алдымен орындалады және мәнді табады, сыртқы сұрау бір рет ішкі сұраудан (ішкі сұрау)

Сыртқы сұрау арқылы алына отырып, сыртқы сұраныстың мәнін пайдаланып ішкі сұрауды орындаңыз, ішкі сұраудан туындайтын мәндерді сыртқы сұранысты білдіруге немесе дисквалифицирлеуге (корреляцияланған)

For more information : http://www.plsqlinformation.com/2016/03/Айырмашылығы-between-subquery-and-correlated-subquery.html

6
қосылды

КЕЛТІРІЛГЕН СУБКЕРЛЕР: Негізгі сұрау арқылы өңделетін әрбір жол үшін бағаланады. Сыртқы сұрау арқылы алынған мәнге негізделген Ішкі сұрауды орындаңыз. Негізгі сұрау арқылы қайтарылған барлық мәндер сәйкесінше жалғасады. INNER сұрауына OUTER сұрауымен басқарылады

Мысалы:

ТАҢДАУ empno, fname, sal, deptid FROM emp WHERE sal = (SELECT AVG (SAL) FROM emp WHERE deptid = e.deptid)

Коррелированная подсвечение әрбір бөлім үшін арнайы AVG (сал) есептейді.

SUBQUERY: алдымен орындалады, бір рет орындалады, MAIN Query пайдаланатын мәндерді қайтарады. OUTER сұрауына INNER QUERY басқарады

5
қосылды

КЕЛТІРІЛГЕН СУБКЕРЛЕР: Негізгі сұрау арқылы өңделетін әрбір жол үшін бағаланады. Сыртқы сұрау арқылы алынған мәнге негізделген Ішкі сұрауды орындаңыз. Негізгі сұрау арқылы қайтарылған барлық мәндер сәйкесінше жалғасады. INNER сұрауына OUTER сұрауымен басқарылады

Мысалы:

ТАҢДАУ empno, fname, sal, deptid FROM emp WHERE sal = (SELECT AVG (SAL) FROM emp WHERE deptid = e.deptid)

Коррелированная подсвечение әрбір бөлім үшін арнайы AVG (сал) есептейді.

SUBQUERY: алдымен орындалады, бір рет орындалады, MAIN Query пайдаланатын мәндерді қайтарады. OUTER сұрауына INNER QUERY басқарады

5
қосылды

Ішкі сұраныс пен сыртқы сұраудың ішкі сұранысы мен ішкі сұранысы бар болғанда ішкі сұраныс ішкі сұраныстың ішкі сұрауына байланысты емес, ал ішкі сұраныстың ішіндегі сыртқы сұрау тәуелді болады.

2
қосылды

Ішкі сұраныс пен сыртқы сұраудың ішкі сұранысы мен ішкі сұранысы бар болғанда ішкі сұраныс ішкі сұраныстың ішкі сұрауына байланысты емес, ал ішкі сұраныстың ішіндегі сыртқы сұрау тәуелді болады.

2
қосылды

Түсініктеме төменде сізге көмектеседі деп ойлаймын.  арасындағы айырмашылық: Коррелированный подписано - бұл ішкі сұраныс негізгі сұрау арқылы (сыртқы сұрау), ішкі сұраныстың бірнеше рет шығарылуы деп саналады.

non-correlated subquery is a sub query that is an independent of the outer query and it can executed on it's own without relying on main outer query.

plain subquery is not dependent on the outer query,

1
қосылды
Мен колледждерімнен бұл коррелированный субкульфия екенін естідім. Бірақ, ішкі сұраныс дербес жұмыс істейтіндіктен, қалай түсінуге болатынын білмеймін. Мәселен, сұрау менің корреляциялық подсвечения немесе қалыпты подсвечение?
қосылды автор Divakar, көзі

Түсініктеме төменде сізге көмектеседі деп ойлаймын.  арасындағы айырмашылық: Коррелированный подписано - бұл ішкі сұраныс негізгі сұрау арқылы (сыртқы сұрау), ішкі сұраныстың бірнеше рет шығарылуы деп саналады.

non-correlated subquery is a sub query that is an independent of the outer query and it can executed on it's own without relying on main outer query.

plain subquery is not dependent on the outer query,

1
қосылды
Мен колледждерімнен бұл коррелированный субкульфия екенін естідім. Бірақ, ішкі сұраныс дербес жұмыс істейтіндіктен, қалай түсінуге болатынын білмеймін. Мәселен, сұрау менің корреляциялық подсвечения немесе қалыпты подсвечение?
қосылды автор Divakar, көзі

Ішкі сұрау сыртқы сұраудың әрбір жолына орындайтын болса, SQL сұрауында. Ішкі сұрау бір мәрте орындалады және нәтиже сыртқы сұрау арқылы тұтынылған болса, онда ол бір-бірімен байланысты емес сұрау деп аталады.

Сәйкес сұраулар әдеттегіге сәйкес келеді сұрауларға қосылыңыз, яғни қосалқы сұраулары жоқ сұраныстарға қосылыңыз және әдетте осы сияқты көрсетілуі мүмкін. Кейде оларды біріктіру сұрауларына аудару ұсынылады, себебі олардың көпшілігі SQL DBMS-лері оларды ..... орындайды

0
қосылды

Ішкі сұрау сыртқы сұраудың әрбір жолына орындайтын болса, SQL сұрауында. Ішкі сұрау бір мәрте орындалады және нәтиже сыртқы сұрау арқылы тұтынылған болса, онда ол бір-бірімен байланысты емес сұрау деп аталады.

Сәйкес сұраулар әдеттегіге сәйкес келеді сұрауларға қосылыңыз, яғни қосалқы сұраулары жоқ сұраныстарға қосылыңыз және әдетте осы сияқты көрсетілуі мүмкін. Кейде оларды біріктіру сұрауларына аудару ұсынылады, себебі олардың көпшілігі SQL DBMS-лері оларды ..... орындайды

0
қосылды