Rownum SQL тілінде қалай жұмыс істейді?
Rownum SQL тілінде қалай жұмыс істейді?

Бейне: Rownum SQL тілінде қалай жұмыс істейді?

Бейне: Rownum SQL тілінде қалай жұмыс істейді?
Бейне: Оконные функции SQL | Аналитические функции row_number / dense_rank 2024, Сәуір
Anonim

Oracle PL/ SQL , а ROWNUM көрсететін псевдобаған болып табылады жол нөмірі a арқылы алынған нәтиже жиынында SQL сұрау. Ол бірінші жолға 1 тағайындау арқылы басталады және көбейтеді ROWNUM әрбір келесі жол қайтарылған мән. Сұрау нәтижелері жиынын сүзу арқылы шектеуге болады ROWNUM WHERE сөйлеміндегі кілт сөз.

Сол сияқты, сіз SQL жүйесінде Rownum-ды қалай пайдаланамын деп сұрай аласыз?

Сіз пайдалана аласыз ROWNUM осы мысалдағыдай сұрау арқылы қайтарылатын жолдар санын шектеу үшін: ТАҢДАУ * ҚАЙДАҒЫ қызметкерлерден ROWNUM < 10; ORDER BY тармағынан кейін келсе ROWNUM сол сұрауда, содан кейін жолдар ORDER BY тармағы арқылы қайта реттеледі. Нәтижелер жолдарға қол жеткізу жолына байланысты өзгеруі мүмкін.

Жоғарыдан басқа, SQL-де Rowid және Rownum дегеніміз не? арасындағы нақты айырмашылық rowid және rownum яғни, бұл дөңес сол жолдың тұрақты бірегей идентификаторы болып табылады. Дегенмен, роунум уақытша болып табылады. Сұрауыңызды өзгертсеңіз, роунум нөмір басқа жолға сілтеме жасайды, the дөңес болмайды. Сонымен ROWNUM нақты үшін қолданылатын қатарлы сан болып табылады SQL мәлімдеме ғана.

Сондай-ақ, Row_number () SQL-де не істейді?

The ROW_NUMBER() болып табылады сұраудың нәтижелер жиынындағы әрбір жолға ретті бүтін санды тағайындайтын терезе функциясы. Бұл синтаксисте, Біріншіден, PARTITION BY сөйлемі FROM сөйлемінен қайтарылған нәтижелер жиынын бөлімдерге бөледі. PARTITION BY сөйлемі болып табылады міндетті емес.

Rownum-ды қайда деген сөйлемде пайдалана аламыз ба?

Екеуі де ROWNUM және ROW_NUMBER() АСТЫ() болып табылады ҚАЙДА рұқсат етіледі тармақ ішкі таңдаудың және болып табылады нәтижелер жиынының өлшемін шектеу үшін пайдалы. Егер ROWNUM пайдаланасыз ҚАЙДА тармақ және ТАПСЫРЫС бар тармақ сол ішкі таңдауда реттілік алдында қолданылады ROWNUM предикат бағаланады.

Ұсынылған: