Jump to content
php.lv forumi

Atcelt automātisku datu kārtošanu?


Lynx

Recommended Posts

SELECT something FROM karte WHERE id BETWEEN 4850 AND 4860 UNION SELECT something FROM karte WHERE id BETWEEN 4950 AND 4960 UNION ...

Sāksim jau pirmkārt ar to ka šie 2 SQL teikumi - pirmais kas minēts šī threada pašā sākumā un otrs - kas citēts tieši augstāk ir dažādi.

Skat piemēru:

SQL> create table karte (id number, something varchar2(10));

Table created.

SQL> insert into karte values (4850, 'bla');

1 row created.

SQL> insert into karte values (4851, 'bla');

1 row created.

SQL> commit;

Commit complete.

SQL> SELECT something FROM karte WHERE id BETWEEN 4850 AND 4860 OR id BETWEEN 4950 AND 4960 OR id BE
TWEEN 50 AND 60 OR id BETWEEN 150 AND 160 OR id BETWEEN 250 AND 260;

SOMETHING
----------
bla
bla

SQL> SELECT something FROM karte WHERE id BETWEEN 4850 AND 4860 UNION SELECT something FROM karte WH
ERE id BETWEEN 4950 AND 4960;

SOMETHING
----------
bla

 

Ooops otrā gadījumā dabūjam tikai 1 rindiņu :O Un te nu ir - izzini UNION un UNION ALL atšķirības, nemaz nerunājot par tādiem sīkumiem, kā to, ka UNION rada nevajadzīgu unikālo vērtību atsijāšanu un papildus noslodzi, ja vērtības jau pirms tam ir garantēti zināmas kā unikālas :)

 

Otrkārt tas kas tika teikts pirms tam par to ka ORDER BY ir nepieciešams jebkurā gadījumā - paliek spēkā arī priekš jebkura cita vaicājuma ieskaitot UNION, UNION ALL vai da jebko citu. Protams, ORDER BY var nelietot, apzinoties sekas, ka potenciāli nākotnē tas var radīt problēmas, kad saraksti vairs nebūs tādā kārtībā kā gribās ;)

 

Gints Plivna

http://datubazes.wordpress.com

Link to comment
Share on other sites

Un te nu ir - izzini UNION un UNION ALL atšķirības, nemaz nerunājot par tādiem sīkumiem, kā to, ka UNION rada nevajadzīgu unikālo vērtību atsijāšanu un papildus noslodzi, ja vērtības jau pirms tam ir garantēti zināmas kā unikālas :)

 

Skatoties uz šito uzcepināju raksteli, kurā ir apskats par visiem SQL kopas operatoriem ar piemēriem un bildītēm :)

http://datubazes.wordpress.com/2008/01/08/sql-select-ii

 

Gints

Link to comment
Share on other sites

×
×
  • Create New...