~drizzle-trunk/drizzle/development

496.1.8 by Paul McCullagh
Added PBXT specific result files
1
drop table if exists t1,t2,t3,t4,t11;
2
drop table if exists t1_1,t1_2,t9_1,t9_2,t1aa,t2aa;
3
CREATE TABLE t1 (
4
Period int DEFAULT '0' NOT NULL,
5
Varor_period int DEFAULT '0' NOT NULL
6
);
7
INSERT INTO t1 VALUES (9410,9412);
8
select period from t1;
9
period
10
9410
11
select * from t1;
12
Period	Varor_period
13
9410	9412
14
select t1.* from t1;
15
Period	Varor_period
16
9410	9412
17
CREATE TABLE t2 (
18
auto int not null auto_increment,
19
fld1 int DEFAULT '0' NOT NULL,
20
companynr int DEFAULT '0' NOT NULL,
21
fld3 char(30) DEFAULT '' NOT NULL,
22
fld4 char(35) DEFAULT '' NOT NULL,
23
fld5 char(35) DEFAULT '' NOT NULL,
24
fld6 char(4) DEFAULT '' NOT NULL,
25
UNIQUE fld1 (fld1),
26
KEY fld3 (fld3),
27
PRIMARY KEY (auto)
28
);
29
select t2.fld3 from t2 where companynr = 58 and fld3 like "%imaginable%";
30
fld3
31
imaginable
32
select fld3 from t2 where fld3 like "%cultivation" ;
33
fld3
34
cultivation
35
select t2.fld3,companynr from t2 where companynr = 57+1 order by fld3;
36
fld3	companynr
37
concoct	58
38
druggists	58
39
engrossing	58
40
Eurydice	58
41
exclaimers	58
42
ferociousness	58
43
hopelessness	58
44
Huey	58
45
imaginable	58
46
judges	58
47
merging	58
48
ostrich	58
49
peering	58
50
Phelps	58
51
presumes	58
52
Ruth	58
53
sentences	58
54
Shylock	58
55
straggled	58
56
synergy	58
57
thanking	58
58
tying	58
59
unlocks	58
60
select fld3,companynr from t2 where companynr = 58 order by fld3;
61
fld3	companynr
62
concoct	58
63
druggists	58
64
engrossing	58
65
Eurydice	58
66
exclaimers	58
67
ferociousness	58
68
hopelessness	58
69
Huey	58
70
imaginable	58
71
judges	58
72
merging	58
73
ostrich	58
74
peering	58
75
Phelps	58
76
presumes	58
77
Ruth	58
78
sentences	58
79
Shylock	58
80
straggled	58
81
synergy	58
82
thanking	58
83
tying	58
84
unlocks	58
85
select fld3 from t2 order by fld3 desc limit 10;
86
fld3
87
youthfulness
88
yelped
89
Wotan
90
workers
91
Witt
92
witchcraft
93
Winsett
94
Willy
95
willed
96
wildcats
97
select fld3 from t2 order by fld3 desc limit 5;
98
fld3
99
youthfulness
100
yelped
101
Wotan
102
workers
103
Witt
104
select fld3 from t2 order by fld3 desc limit 5,5;
105
fld3
106
witchcraft
107
Winsett
108
Willy
109
willed
110
wildcats
111
select t2.fld3 from t2 where fld3 = 'honeysuckle';
112
fld3
113
honeysuckle
114
select t2.fld3 from t2 where fld3 LIKE 'honeysuckl_';
115
fld3
116
honeysuckle
117
select t2.fld3 from t2 where fld3 LIKE 'hon_ysuckl_';
118
fld3
119
honeysuckle
120
select t2.fld3 from t2 where fld3 LIKE 'honeysuckle%';
121
fld3
122
honeysuckle
123
select t2.fld3 from t2 where fld3 LIKE 'h%le';
124
fld3
125
honeysuckle
126
select t2.fld3 from t2 where fld3 LIKE 'honeysuckle_';
127
fld3
128
select t2.fld3 from t2 where fld3 LIKE 'don_t_find_me_please%';
129
fld3
130
select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3;
131
fld3
132
honeysuckle
133
honoring
134
select fld1,fld3 from t2 where fld3="Colombo" or fld3 = "nondecreasing" order by fld3;
135
fld1	fld3
136
148504	Colombo
137
68305	Colombo
138
0	nondecreasing
139
select fld1,fld3 from t2 where companynr = 37 and fld3 = 'appendixes';
140
fld1	fld3
141
232605	appendixes
142
1232605	appendixes
143
1232606	appendixes
144
1232607	appendixes
145
1232608	appendixes
146
1232609	appendixes
147
select fld1 from t2 where fld1=250501 or fld1="250502";
148
fld1
149
250501
150
250502
151
select fld1 from t2 where fld1=250501 or fld1=250502 or fld1 >= 250505 and fld1 <= 250601 or fld1 between 250501 and 250502;
152
fld1
153
250501
154
250502
155
250505
156
250601
157
select fld1,fld3 from t2 where companynr = 37 and fld3 like 'f%';
158
fld1	fld3
159
12001	flanking
160
13602	foldout
161
13606	fingerings
162
18007	fanatic
163
18017	featherweight
164
18054	fetters
165
18103	flint
166
18104	flopping
167
186002	freakish
168
188007	flurried
169
188505	fitting
170
198006	furthermore
171
202301	Fitzpatrick
172
208101	fiftieth
173
208113	freest
174
218008	finishers
175
218022	feed
176
218401	faithful
177
226205	foothill
178
226209	furnishings
179
228306	forthcoming
180
228311	fated
181
231315	freezes
182
232102	forgivably
183
238007	filial
184
238008	fixedly
185
36002	funereal
186
38017	fetched
187
38205	firearm
188
58004	Fenton
189
88303	feminine
190
select fld3 from t2 where fld3 like "L%" and fld3 = "ok";
191
fld3
192
select fld3 from t2 where (fld3 like "C%" and fld3 = "Chantilly");
193
fld3
194
Chantilly
195
select fld1,fld3 from t2 where fld1 like "25050%";
196
fld1	fld3
197
250501	poisoning
198
250502	Iraqis
199
250503	heaving
200
250504	population
201
250505	bomb
202
select fld1,fld3 from t2 where fld1 like "25050_";
203
fld1	fld3
204
250501	poisoning
205
250502	Iraqis
206
250503	heaving
207
250504	population
208
250505	bomb
209
select distinct companynr from t2;
210
companynr
211
0
212
37
213
36
214
50
215
58
216
29
217
40
218
53
219
65
220
41
221
34
222
68
223
select distinct companynr from t2 order by companynr;
224
companynr
225
0
226
29
227
34
228
36
229
37
230
40
231
41
232
50
233
53
234
58
235
65
236
68
237
select distinct companynr from t2 order by companynr desc;
238
companynr
239
68
240
65
241
58
242
53
243
50
244
41
245
40
246
37
247
36
248
34
249
29
250
0
251
select distinct t2.fld3,period from t2,t1 where companynr=37 and fld3 like "O%";
252
fld3	period
253
obliterates	9410
254
offload	9410
255
opaquely	9410
256
organizer	9410
257
overestimating	9410
258
overlay	9410
259
select distinct fld3 from t2 where companynr = 34 order by fld3;
260
fld3
261
absentee
262
accessed
263
ahead
264
alphabetic
265
Asiaticizations
266
attitude
267
aye
268
bankruptcies
269
belays
270
Blythe
271
bomb
272
boulevard
273
bulldozes
274
cannot
275
caressing
276
charcoal
277
checksumming
278
chess
279
clubroom
280
colorful
281
cosy
282
creator
283
crying
284
Darius
285
diffusing
286
duality
287
Eiffel
288
Epiphany
289
Ernestine
290
explorers
291
exterminated
292
famine
293
forked
294
Gershwins
295
heaving
296
Hodges
297
Iraqis
298
Italianization
299
Lagos
300
landslide
301
libretto
302
Majorca
303
mastering
304
narrowed
305
occurred
306
offerers
307
Palestine
308
Peruvianizes
309
pharmaceutic
310
poisoning
311
population
312
Pygmalion
313
rats
314
realest
315
recording
316
regimented
317
retransmitting
318
reviver
319
rouses
320
scars
321
sicker
322
sleepwalk
323
stopped
324
sugars
325
translatable
326
uncles
327
unexpected
328
uprisings
329
versatility
330
vest
331
select distinct fld3 from t2 limit 10;
332
fld3
333
Abraham
334
abates
335
abiding
336
abrogating
337
absentee
338
abut
339
accessed
340
accruing
341
accumulating
342
accuracies
343
select distinct fld3 from t2 having fld3 like "A%" limit 10;
344
fld3
345
abates
346
abiding
347
Abraham
348
abrogating
349
absentee
350
abut
351
accessed
352
accruing
353
accumulating
354
accuracies
355
select distinct substring(fld3,1,3) from t2 where fld3 like "A%";
356
substring(fld3,1,3)
357
aba
358
abi
359
Abr
360
abs
361
abu
362
acc
363
acq
364
acu
365
Ade
366
adj
367
Adl
368
adm
369
Ado
370
ads
371
adv
372
aer
373
aff
374
afi
375
afl
376
afo
377
agi
378
ahe
379
aim
380
air
381
Ald
382
alg
383
ali
384
all
385
alp
386
alr
387
ama
388
ame
389
amm
390
ana
391
and
392
ane
393
Ang
394
ani
395
Ann
396
Ant
397
api
398
app
399
aqu
400
Ara
401
arc
402
Arm
403
arr
404
Art
405
Asi
406
ask
407
asp
408
ass
409
ast
410
att
411
aud
412
Aug
413
aut
414
ave
415
avo
416
awe
417
aye
418
Azt
419
select distinct substring(fld3,1,3) as a from t2 having a like "A%" order by a limit 10;
420
a
421
aba
422
abi
423
Abr
424
abs
425
abu
426
acc
427
acq
428
acu
429
Ade
430
adj
431
select distinct substring(fld3,1,3) from t2 where fld3 like "A%" limit 10;
432
substring(fld3,1,3)
433
aba
434
abi
435
Abr
436
abs
437
abu
438
acc
439
acq
440
acu
441
Ade
442
adj
443
select distinct substring(fld3,1,3) as a from t2 having a like "A%" limit 10;
444
a
445
Abr
446
Ade
447
aba
448
abi
449
abs
450
abu
451
acc
452
acq
453
acu
454
adj
455
create table t3 (
456
period    int not null,
457
name      char(32) not null,
458
companynr int not null,
459
price     double(11,0),
460
price2     double(11,0),
461
key (period),
462
key (name)
463
);
464
create temporary table tmp engine = myisam select * from t3;
465
insert into t3 select * from tmp;
466
insert into tmp select * from t3;
467
insert into t3 select * from tmp;
468
insert into tmp select * from t3;
469
insert into t3 select * from tmp;
470
insert into tmp select * from t3;
471
insert into t3 select * from tmp;
472
insert into tmp select * from t3;
473
insert into t3 select * from tmp;
474
insert into tmp select * from t3;
475
insert into t3 select * from tmp;
476
insert into tmp select * from t3;
477
insert into t3 select * from tmp;
478
insert into tmp select * from t3;
479
insert into t3 select * from tmp;
480
insert into tmp select * from t3;
481
insert into t3 select * from tmp;
482
alter table t3 add t2nr int not null auto_increment primary key first;
483
drop table tmp;
484
SET SQL_BIG_TABLES=1;
485
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
486
namn
487
Abraham Abraham
488
abrogating abrogating
489
admonishing admonishing
490
Adolph Adolph
491
afield afield
492
aging aging
493
ammonium ammonium
494
analyzable analyzable
495
animals animals
496
animized animized
497
SET SQL_BIG_TABLES=0;
498
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
499
concat(fld3," ",fld3)
500
Abraham Abraham
501
abrogating abrogating
502
admonishing admonishing
503
Adolph Adolph
504
afield afield
505
aging aging
506
ammonium ammonium
507
analyzable analyzable
508
animals animals
509
animized animized
510
select distinct fld5 from t2 limit 10;
511
fld5
512
neat
513
Steinberg
514
jarring
515
tinily
516
balled
517
persist
518
attainments
519
fanatic
520
measures
521
rightfulness
522
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
523
fld3	count(*)
524
affixed	1
525
and	1
526
annoyers	1
527
Anthony	1
528
assayed	1
529
assurers	1
530
attendants	1
531
bedlam	1
532
bedpost	1
533
boasted	1
534
SET SQL_BIG_TABLES=1;
535
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
536
fld3	count(*)
537
affixed	1
538
and	1
539
annoyers	1
540
Anthony	1
541
assayed	1
542
assurers	1
543
attendants	1
544
bedlam	1
545
bedpost	1
546
boasted	1
547
SET SQL_BIG_TABLES=0;
548
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
549
fld3	repeat("a",length(fld3))	count(*)
550
circus	aaaaaa	1
551
cited	aaaaa	1
552
Colombo	aaaaaaa	1
553
congresswoman	aaaaaaaaaaaaa	1
554
contrition	aaaaaaaaaa	1
555
corny	aaaaa	1
556
cultivation	aaaaaaaaaaa	1
557
definiteness	aaaaaaaaaaaa	1
558
demultiplex	aaaaaaaaaaa	1
559
disappointing	aaaaaaaaaaaaa	1
560
select distinct companynr,rtrim(space(512+companynr)) from t3 order by 1,2;
561
companynr	rtrim(space(512+companynr))
562
37	
563
78	
564
101	
565
154	
566
311	
567
447	
568
512	
569
select distinct fld3 from t2,t3 where t2.companynr = 34 and t2.fld1=t3.t2nr order by fld3;
570
fld3
571
select period from t1;
572
period
573
9410
574
select period from t1 where period=1900;
575
period
576
select fld3,period from t1,t2 where fld1 = 011401 order by period;
577
fld3	period
578
breaking	9410
579
select fld3,period from t2,t3 where t2.fld1 = 011401 and t2.fld1=t3.t2nr and t3.period=1001;
580
fld3	period
581
breaking	1001
582
select fld3,period from t2,t1 where companynr*10 = 37*10;
583
fld3	period
584
Abraham	9410
585
Aden	9410
586
Adolph	9410
587
Aldrich	9410
588
Alison	9410
589
Anatole	9410
590
Antarctica	9410
591
Antares	9410
592
Arabia	9410
593
Artemia	9410
594
Augustine	9410
595
Baird	9410
596
Beebe	9410
597
Butterfield	9410
598
CERN	9410
599
Cassites	9410
600
Chicana	9410
601
Chippewa	9410
602
Clayton	9410
603
Conley	9410
604
Connally	9410
605
Crays	9410
606
DiMaggio	9410
607
Dutchman	9410
608
Eulerian	9410
609
Evanston	9410
610
Everhart	9410
611
Fenton	9410
612
Fitzpatrick	9410
613
Galatean	9410
614
Gandhian	9410
615
Ganymede	9410
616
Goldstine	9410
617
Gothicism	9410
618
Graves	9410
619
Greenberg	9410
620
Gurkha	9410
621
Hawaii	9410
622
Hegelian	9410
623
Hornblower	9410
624
Huffman	9410
625
Hunter	9410
626
Joplin	9410
627
Judas	9410
628
Kane	9410
629
Kantian	9410
630
Kevin	9410
631
Kinsey	9410
632
Kline	9410
633
Lars	9410
634
Latinizes	9410
635
Lillian	9410
636
Lizzy	9410
637
Majorca	9410
638
Manhattanize	9410
639
McGovern	9410
640
Melinda	9410
641
Merritt	9410
642
Micronesia	9410
643
Miles	9410
644
Miltonism	9410
645
Nabisco	9410
646
Nazis	9410
647
Newtonian	9410
648
Norwalk	9410
649
Pandora	9410
650
Parsifal	9410
651
Peruvian	9410
652
Punjab	9410
653
Pyle	9410
654
Quixotism	9410
655
Romano	9410
656
Romans	9410
657
Sabine	9410
658
Sault	9410
659
Saxony	9410
660
Selfridge	9410
661
Shanghais	9410
662
Simla	9410
663
Simon	9410
664
Stalin	9410
665
Steinberg	9410
666
Taoism	9410
667
Teresa	9410
668
Tipperary	9410
669
Weissmuller	9410
670
Winsett	9410
671
Wotan	9410
672
abates	9410
673
abrogating	9410
674
accessed	9410
675
admiring	9410
676
admonishing	9410
677
afield	9410
678
afore	9410
679
aging	9410
680
airships	9410
681
alike	9410
682
allot	9410
683
already	9410
684
amenities	9410
685
ammonium	9410
686
analogy	9410
687
analyzable	9410
688
animals	9410
689
animized	9410
690
annihilates	9410
691
announced	9410
692
announces	9410
693
apiary	9410
694
appendixes	9410
695
appendixes	9410
696
appendixes	9410
697
appendixes	9410
698
appendixes	9410
699
appendixes	9410
700
arriving	9410
701
arteriole	9410
702
assails	9410
703
astound	9410
704
attainments	9410
705
attrition	9410
706
audiology	9410
707
avenge	9410
708
avoidable	9410
709
babies	9410
710
babysitting	9410
711
balled	9410
712
beaner	9410
713
beaters	9410
714
bee	9410
715
befouled	9410
716
bellow	9410
717
bestseller	9410
718
betroth	9410
719
bewilderingly	9410
720
bills	9410
721
bitterroot	9410
722
bivalves	9410
723
bloater	9410
724
bloodbath	9410
725
boat	9410
726
boom	9410
727
boorish	9410
728
boulder	9410
729
breaking	9410
730
brunch	9410
731
buckboards	9410
732
burlesque	9410
733
cage	9410
734
capably	9410
735
capped	9410
736
cascade	9410
737
causality	9410
738
cautioned	9410
739
ceiling	9410
740
celery	9410
741
certificates	9410
742
chafe	9410
743
chaperone	9410
744
charges	9410
745
chasm	9410
746
checkpoints	9410
747
chewing	9410
748
chews	9410
749
chillingly	9410
750
chronicle	9410
751
ciphers	9410
752
civics	9410
753
clamored	9410
754
clenched	9410
755
clockers	9410
756
coexist	9410
757
cokes	9410
758
combed	9410
759
coming	9410
760
commencements	9410
761
commonplace	9410
762
communicants	9410
763
compartment	9410
764
comprehensive	9410
765
comprised	9410
766
conceptions	9410
767
concludes	9410
768
congregates	9410
769
contrary	9410
770
contrasted	9410
771
convenient	9410
772
convulsion	9410
773
corset	9410
774
count	9410
775
coverings	9410
776
craziness	9410
777
creak	9410
778
creek	9410
779
critiques	9410
780
crunches	9410
781
culled	9410
782
cult	9410
783
cupboard	9410
784
cured	9410
785
cute	9410
786
daughter	9410
787
decliner	9410
788
decomposition	9410
789
deductions	9410
790
dehydrate	9410
791
deludes	9410
792
denizen	9410
793
denotative	9410
794
denounces	9410
795
dental	9410
796
dentally	9410
797
descendants	9410
798
despot	9410
799
destroyer	9410
800
detectably	9410
801
dialysis	9410
802
dimensions	9410
803
disable	9410
804
discounts	9410
805
disentangle	9410
806
disobedience	9410
807
dissociate	9410
808
dogging	9410
809
dopers	9410
810
drains	9410
811
dreaded	9410
812
ducks	9410
813
dusted	9410
814
effortlessly	9410
815
electroencephalography	9410
816
elite	9410
817
embassies	9410
818
employing	9410
819
encompass	9410
820
encompasses	9410
821
environing	9410
822
epistle	9410
823
equilibrium	9410
824
erases	9410
825
error	9410
826
eschew	9410
827
eternal	9410
828
evened	9410
829
evenhandedly	9410
830
eventful	9410
831
excises	9410
832
exclamation	9410
833
excrete	9410
834
exhausts	9410
835
expelled	9410
836
extents	9410
837
externally	9410
838
extracted	9410
839
faithful	9410
840
fanatic	9410
841
fated	9410
842
featherweight	9410
843
feed	9410
844
feminine	9410
845
fetched	9410
846
fetters	9410
847
fiftieth	9410
848
filial	9410
849
fingerings	9410
850
finishers	9410
851
firearm	9410
852
fitting	9410
853
fixedly	9410
854
flanking	9410
855
flint	9410
856
flopping	9410
857
flurried	9410
858
foldout	9410
859
foothill	9410
860
forgivably	9410
861
forthcoming	9410
862
freakish	9410
863
freest	9410
864
freezes	9410
865
funereal	9410
866
furnishings	9410
867
furthermore	9410
868
gadfly	9410
869
gainful	9410
870
galling	9410
871
garage	9410
872
gentleman	9410
873
gifted	9410
874
gleaning	9410
875
glut	9410
876
goblins	9410
877
governing	9410
878
gradually	9410
879
grazing	9410
880
gritty	9410
881
groupings	9410
882
guides	9410
883
guitars	9410
884
handgun	9410
885
handy	9410
886
heiress	9410
887
hoarder	9410
888
honoring	9410
889
hostess	9410
890
humanness	9410
891
humiliation	9410
892
humility	9410
893
hushes	9410
894
husky	9410
895
hypothesizer	9410
896
icon	9410
897
ideas	9410
898
impelling	9410
899
impending	9410
900
imperial	9410
901
imperiously	9410
902
imprint	9410
903
impulsive	9410
904
inaccuracy	9410
905
inch	9410
906
incidentals	9410
907
incorrectly	9410
908
incurring	9410
909
index	9410
910
indulge	9410
911
indulgences	9410
912
ineffective	9410
913
infallibly	9410
914
infest	9410
915
inform	9410
916
inmate	9410
917
insolence	9410
918
instruments	9410
919
intelligibility	9410
920
intentness	9410
921
intercepted	9410
922
interdependent	9410
923
interrelationships	9410
924
interrogate	9410
925
investigations	9410
926
irresponsibly	9410
927
jarring	9410
928
journalizing	9410
929
juveniles	9410
930
kanji	9410
931
kingdom	9410
932
kiting	9410
933
labeled	9410
934
languages	9410
935
laterally	9410
936
lawgiver	9410
937
leaflet	9410
938
leavings	9410
939
lectured	9410
940
leftover	9410
941
lewdly	9410
942
lied	9410
943
linear	9410
944
lists	9410
945
lithograph	9410
946
lore	9410
947
luckily	9410
948
males	9410
949
marginal	9410
950
mastering	9410
951
mayoral	9410
952
meanwhile	9410
953
measures	9410
954
measures	9410
955
mechanizing	9410
956
medical	9410
957
meditation	9410
958
metaphysically	9410
959
mineral	9410
960
miniaturizes	9410
961
minima	9410
962
minion	9410
963
minting	9410
964
misted	9410
965
misunderstander	9410
966
mixture	9410
967
motors	9410
968
mournfulness	9410
969
multilayer	9410
970
mumbles	9410
971
mushrooms	9410
972
mystic	9410
973
navies	9410
974
navigate	9410
975
neat	9410
976
neonatal	9410
977
nested	9410
978
noncritical	9410
979
normalizes	9410
980
obliterates	9410
981
offload	9410
982
opaquely	9410
983
organizer	9410
984
overestimating	9410
985
overlay	9410
986
parametrized	9410
987
parenthood	9410
988
parters	9410
989
participated	9410
990
partridges	9410
991
peacock	9410
992
peeked	9410
993
pellagra	9410
994
percentage	9410
995
percentage	9410
996
persist	9410
997
perturb	9410
998
pessimist	9410
999
pests	9410
1000
petted	9410
1001
pictures	9410
1002
pithed	9410
1003
pityingly	9410
1004
poison	9410
1005
posed	9410
1006
positioning	9410
1007
postulation	9410
1008
praised	9410
1009
precaution	9410
1010
precipitable	9410
1011
preclude	9410
1012
presentation	9410
1013
pressure	9410
1014
previewing	9410
1015
priceless	9410
1016
primary	9410
1017
psychic	9410
1018
publicly	9410
1019
puddings	9410
1020
quagmire	9410
1021
quitter	9410
1022
railway	9410
1023
raining	9410
1024
rains	9410
1025
ravines	9410
1026
readable	9410
1027
realized	9410
1028
realtor	9410
1029
reassigned	9410
1030
recruited	9410
1031
reduce	9410
1032
regimented	9410
1033
registration	9410
1034
relatively	9410
1035
relaxing	9410
1036
relishing	9410
1037
relives	9410
1038
renew	9410
1039
repelled	9410
1040
repetitions	9410
1041
reporters	9410
1042
reporters	9410
1043
repressions	9410
1044
resplendent	9410
1045
resumes	9410
1046
rifles	9410
1047
rightful	9410
1048
rightfully	9410
1049
rightfulness	9410
1050
ripeness	9410
1051
riser	9410
1052
roped	9410
1053
rudeness	9410
1054
rules	9410
1055
rural	9410
1056
rusting	9410
1057
sadly	9410
1058
sags	9410
1059
sanding	9410
1060
saplings	9410
1061
sating	9410
1062
save	9410
1063
sawtooth	9410
1064
scarf	9410
1065
scatterbrain	9410
1066
scheduling	9410
1067
schemer	9410
1068
scholastics	9410
1069
scornfully	9410
1070
secures	9410
1071
securing	9410
1072
seminaries	9410
1073
serializations	9410
1074
serpents	9410
1075
serving	9410
1076
severely	9410
1077
sews	9410
1078
shapelessly	9410
1079
shipyard	9410
1080
shooter	9410
1081
similarities	9410
1082
skulking	9410
1083
slaughter	9410
1084
sloping	9410
1085
smoothed	9410
1086
snatching	9410
1087
socializes	9410
1088
sophomore	9410
1089
sorters	9410
1090
spatial	9410
1091
specification	9410
1092
specifics	9410
1093
spongers	9410
1094
spools	9410
1095
sportswriting	9410
1096
sporty	9410
1097
squabbled	9410
1098
squeaking	9410
1099
squeezes	9410
1100
stabilizes	9410
1101
stairway	9410
1102
standardizes	9410
1103
star	9410
1104
starlet	9410
1105
stated	9410
1106
stint	9410
1107
stodgy	9410
1108
store	9410
1109
straight	9410
1110
stranglings	9410
1111
subdirectory	9410
1112
subjective	9410
1113
subschema	9410
1114
succumbed	9410
1115
suites	9410
1116
sumac	9410
1117
sureties	9410
1118
swaying	9410
1119
sweetish	9410
1120
swelling	9410
1121
syndicate	9410
1122
taxonomically	9410
1123
techniques	9410
1124
teem	9410
1125
teethe	9410
1126
tempering	9410
1127
terminal	9410
1128
terminator	9410
1129
terminators	9410
1130
test	9410
1131
testicle	9410
1132
textures	9410
1133
theorizers	9410
1134
throttles	9410
1135
tidiness	9410
1136
timesharing	9410
1137
tinily	9410
1138
tinting	9410
1139
title	9410
1140
tragedies	9410
1141
traitor	9410
1142
trimmings	9410
1143
tropics	9410
1144
unaffected	9410
1145
uncovering	9410
1146
undoes	9410
1147
ungrateful	9410
1148
universals	9410
1149
unplug	9410
1150
unruly	9410
1151
untying	9410
1152
unwilling	9410
1153
vacuuming	9410
1154
validate	9410
1155
vanish	9410
1156
ventilate	9410
1157
veranda	9410
1158
vests	9410
1159
wallet	9410
1160
waltz	9410
1161
warm	9410
1162
warningly	9410
1163
watering	9410
1164
weasels	9410
1165
western	9410
1166
whiteners	9410
1167
widens	9410
1168
witchcraft	9410
1169
workers	9410
1170
yelped	9410
1171
youthfulness	9410
1172
select fld3,period,price,price2 from t2,t3 where t2.fld1=t3.t2nr and period >= 1001 and period <= 1002 and t2.companynr = 37 order by fld3,period, price;
1173
fld3	period	price	price2
1174
admonishing	1002	28357832	8723648
1175
analyzable	1002	28357832	8723648
1176
annihilates	1001	5987435	234724
1177
Antares	1002	28357832	8723648
1178
astound	1001	5987435	234724
1179
audiology	1001	5987435	234724
1180
Augustine	1002	28357832	8723648
1181
Baird	1002	28357832	8723648
1182
bewilderingly	1001	5987435	234724
1183
breaking	1001	5987435	234724
1184
Conley	1001	5987435	234724
1185
dentally	1002	28357832	8723648
1186
dissociate	1002	28357832	8723648
1187
elite	1001	5987435	234724
1188
eschew	1001	5987435	234724
1189
Eulerian	1001	5987435	234724
1190
flanking	1001	5987435	234724
1191
foldout	1002	28357832	8723648
1192
funereal	1002	28357832	8723648
1193
galling	1002	28357832	8723648
1194
Graves	1001	5987435	234724
1195
grazing	1001	5987435	234724
1196
groupings	1001	5987435	234724
1197
handgun	1001	5987435	234724
1198
humility	1002	28357832	8723648
1199
impulsive	1002	28357832	8723648
1200
inch	1001	5987435	234724
1201
intelligibility	1001	5987435	234724
1202
jarring	1001	5987435	234724
1203
lawgiver	1001	5987435	234724
1204
lectured	1002	28357832	8723648
1205
Merritt	1002	28357832	8723648
1206
neonatal	1001	5987435	234724
1207
offload	1002	28357832	8723648
1208
parters	1002	28357832	8723648
1209
pityingly	1002	28357832	8723648
1210
puddings	1002	28357832	8723648
1211
Punjab	1001	5987435	234724
1212
quitter	1002	28357832	8723648
1213
realtor	1001	5987435	234724
1214
relaxing	1001	5987435	234724
1215
repetitions	1001	5987435	234724
1216
resumes	1001	5987435	234724
1217
Romans	1002	28357832	8723648
1218
rusting	1001	5987435	234724
1219
scholastics	1001	5987435	234724
1220
skulking	1002	28357832	8723648
1221
stated	1002	28357832	8723648
1222
suites	1002	28357832	8723648
1223
sureties	1001	5987435	234724
1224
testicle	1002	28357832	8723648
1225
tinily	1002	28357832	8723648
1226
tragedies	1001	5987435	234724
1227
trimmings	1001	5987435	234724
1228
vacuuming	1001	5987435	234724
1229
ventilate	1001	5987435	234724
1230
wallet	1001	5987435	234724
1231
Weissmuller	1002	28357832	8723648
1232
Wotan	1002	28357832	8723648
1233
select t2.fld1,fld3,period,price,price2 from t2,t3 where t2.fld1>= 18201 and t2.fld1 <= 18811 and t2.fld1=t3.t2nr and period = 1001 and t2.companynr = 37;
1234
fld1	fld3	period	price	price2
1235
18201	relaxing	1001	5987435	234724
1236
18601	vacuuming	1001	5987435	234724
1237
18801	inch	1001	5987435	234724
1238
18811	repetitions	1001	5987435	234724
1239
create table t4 (
1240
companynr int NOT NULL default '0',
1241
companyname char(30) NOT NULL default '',
1242
PRIMARY KEY (companynr),
1243
UNIQUE KEY companyname(companyname)
1244
) ENGINE=MyISAM MAX_ROWS=50 PACK_KEYS=1 COMMENT='companynames';
1245
select STRAIGHT_JOIN t2.companynr,companyname from t4,t2 where t2.companynr=t4.companynr group by t2.companynr;
1246
companynr	companyname
1247
0	Unknown
1248
29	company 1
1249
34	company 2
1250
36	company 3
1251
37	company 4
1252
40	company 5
1253
41	company 6
1254
50	company 11
1255
53	company 7
1256
58	company 8
1257
65	company 9
1258
68	company 10
1259
select SQL_SMALL_RESULT t2.companynr,companyname from t4,t2 where t2.companynr=t4.companynr group by t2.companynr;
1260
companynr	companyname
1261
0	Unknown
1262
29	company 1
1263
34	company 2
1264
36	company 3
1265
37	company 4
1266
40	company 5
1267
41	company 6
1268
50	company 11
1269
53	company 7
1270
58	company 8
1271
65	company 9
1272
68	company 10
1273
select * from t1,t1 t12;
1274
Period	Varor_period	Period	Varor_period
1275
9410	9412	9410	9412
1276
select t2.fld1,t22.fld1 from t2,t2 t22 where t2.fld1 >= 250501 and t2.fld1 <= 250505 and t22.fld1 >= 250501 and t22.fld1 <= 250505;
1277
fld1	fld1
1278
250501	250501
1279
250502	250501
1280
250503	250501
1281
250504	250501
1282
250505	250501
1283
250501	250502
1284
250502	250502
1285
250503	250502
1286
250504	250502
1287
250505	250502
1288
250501	250503
1289
250502	250503
1290
250503	250503
1291
250504	250503
1292
250505	250503
1293
250501	250504
1294
250502	250504
1295
250503	250504
1296
250504	250504
1297
250505	250504
1298
250501	250505
1299
250502	250505
1300
250503	250505
1301
250504	250505
1302
250505	250505
1303
insert into t2 (fld1, companynr) values (999999,99);
1304
select t2.companynr,companyname from t2 left join t4 using (companynr) where t4.companynr is null;
1305
companynr	companyname
1306
99	NULL
1307
select count(*) from t2 left join t4 using (companynr) where t4.companynr is not null;
1308
count(*)
1309
1199
1310
select companynr,companyname from t2 left join t4 using (companynr) where companynr is null;
1311
companynr	companyname
1312
select count(*) from t2 left join t4 using (companynr) where companynr is not null;
1313
count(*)
1314
1200
1315
delete from t2 where fld1=999999;
1316
select distinct t2.companynr,t4.companynr from t2,t4 where t2.companynr=t4.companynr+1;
1317
companynr	companynr
1318
37	36
1319
41	40
1320
select t2.fld1,t2.companynr,fld3,period from t3,t2 where t2.fld1 = 38208 and t2.fld1=t3.t2nr and period = 1008 or t2.fld1 = 38008 and t2.fld1 =t3.t2nr and period = 1008;
1321
fld1	companynr	fld3	period
1322
38008	37	reporters	1008
1323
38208	37	Selfridge	1008
1324
select t2.fld1,t2.companynr,fld3,period from t3,t2 where (t2.fld1 = 38208 or t2.fld1 = 38008) and t2.fld1=t3.t2nr and period>=1008 and period<=1009;
1325
fld1	companynr	fld3	period
1326
38008	37	reporters	1008
1327
38208	37	Selfridge	1008
1328
select t2.fld1,t2.companynr,fld3,period from t3,t2 where (t3.t2nr = 38208 or t3.t2nr = 38008) and t2.fld1=t3.t2nr and period>=1008 and period<=1009;
1329
fld1	companynr	fld3	period
1330
38008	37	reporters	1008
1331
38208	37	Selfridge	1008
1332
select period from t1 where (((period > 0) or period < 10000 or (period = 1900)) and (period=1900 and period <= 1901) or (period=1903 and (period=1903)) and period>=1902) or ((period=1904 or period=1905) or (period=1906 or period>1907)) or (period=1908 and period = 1909);
1333
period
1334
9410
1335
select period from t1 where ((period > 0 and period < 1) or (((period > 0 and period < 100) and (period > 10)) or (period > 10)) or (period > 0 and (period > 5 or period > 6)));
1336
period
1337
9410
1338
select a.fld1 from t2 as a,t2 b where ((a.fld1 = 250501 and a.fld1=b.fld1) or a.fld1=250502 or a.fld1=250503 or (a.fld1=250505 and a.fld1<=b.fld1 and b.fld1>=a.fld1)) and a.fld1=b.fld1;
1339
fld1
1340
250501
1341
250502
1342
250503
1343
250505
1344
select fld1 from t2 where fld1 in (250502,98005,98006,250503,250605,250606) and fld1 >=250502 and fld1 not in (250605,250606);
1345
fld1
1346
250502
1347
250503
1348
select fld1 from t2 where fld1 between 250502 and 250504;
1349
fld1
1350
250502
1351
250503
1352
250504
1353
select fld3 from t2 where (((fld3 like "_%L%" ) or (fld3 like "%ok%")) and ( fld3 like "L%" or fld3 like "G%")) and fld3 like "L%" ;
1354
fld3
1355
label
1356
labeled
1357
labeled
1358
landslide
1359
laterally
1360
leaflet
1361
lewdly
1362
Lillian
1363
luckily
1364
select count(*) from t1;
1365
count(*)
1366
1
1367
select companynr,count(*),sum(fld1) from t2 group by companynr;
1368
companynr	count(*)	sum(fld1)
1369
0	82	10355753
1370
29	95	14473298
1371
34	70	17788966
1372
36	215	22786296
1373
37	588	83602098
1374
40	37	6618386
1375
41	52	12816335
1376
50	11	1595438
1377
53	4	793210
1378
58	23	2254293
1379
65	10	2284055
1380
68	12	3097288
1381
select companynr,count(*) from t2 group by companynr order by companynr desc limit 5;
1382
companynr	count(*)
1383
68	12
1384
65	10
1385
58	23
1386
53	4
1387
50	11
1388
select count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 where companynr = 34 and fld4<>"";
1389
count(*)	min(fld4)	max(fld4)	sum(fld1)	avg(fld1)	std(fld1)	variance(fld1)
1390
70	absentee	vest	17788966	254128.0857	3272.5940	10709871.3069
1391
select companynr,count(*),min(fld4),max(fld4),sum(fld1),avg(fld1),std(fld1),variance(fld1) from t2 group by companynr limit 3;
1392
companynr	count(*)	min(fld4)	max(fld4)	sum(fld1)	avg(fld1)	std(fld1)	variance(fld1)
1393
0	82	Anthony	windmills	10355753	126289.6707	115550.9757	13352027981.7087
1394
29	95	abut	wetness	14473298	152350.5053	8368.5480	70032594.9026
1395
34	70	absentee	vest	17788966	254128.0857	3272.5940	10709871.3069
1396
select companynr,t2nr,count(price),sum(price),min(price),max(price),avg(price) from t3 where companynr = 37 group by companynr,t2nr limit 10;
1397
companynr	t2nr	count(price)	sum(price)	min(price)	max(price)	avg(price)
1398
37	1	1	5987435	5987435	5987435	5987435.0000
1399
37	2	1	28357832	28357832	28357832	28357832.0000
1400
37	3	1	39654943	39654943	39654943	39654943.0000
1401
37	11	1	5987435	5987435	5987435	5987435.0000
1402
37	12	1	28357832	28357832	28357832	28357832.0000
1403
37	13	1	39654943	39654943	39654943	39654943.0000
1404
37	21	1	5987435	5987435	5987435	5987435.0000
1405
37	22	1	28357832	28357832	28357832	28357832.0000
1406
37	23	1	39654943	39654943	39654943	39654943.0000
1407
37	31	1	5987435	5987435	5987435	5987435.0000
1408
select /*! SQL_SMALL_RESULT */ companynr,t2nr,count(price),sum(price),min(price),max(price),avg(price) from t3 where companynr = 37 group by companynr,t2nr limit 10;
1409
companynr	t2nr	count(price)	sum(price)	min(price)	max(price)	avg(price)
1410
37	1	1	5987435	5987435	5987435	5987435.0000
1411
37	2	1	28357832	28357832	28357832	28357832.0000
1412
37	3	1	39654943	39654943	39654943	39654943.0000
1413
37	11	1	5987435	5987435	5987435	5987435.0000
1414
37	12	1	28357832	28357832	28357832	28357832.0000
1415
37	13	1	39654943	39654943	39654943	39654943.0000
1416
37	21	1	5987435	5987435	5987435	5987435.0000
1417
37	22	1	28357832	28357832	28357832	28357832.0000
1418
37	23	1	39654943	39654943	39654943	39654943.0000
1419
37	31	1	5987435	5987435	5987435	5987435.0000
1420
select companynr,count(price),sum(price),min(price),max(price),avg(price) from t3 group by companynr ;
1421
companynr	count(price)	sum(price)	min(price)	max(price)	avg(price)
1422
37	12543	309394878010	5987435	39654943	24666736.6667
1423
78	8362	414611089292	726498	98439034	49582766.0000
1424
101	4181	3489454238	834598	834598	834598.0000
1425
154	4181	4112197254950	983543950	983543950	983543950.0000
1426
311	4181	979599938	234298	234298	234298.0000
1427
447	4181	9929180954	2374834	2374834	2374834.0000
1428
512	4181	3288532102	786542	786542	786542.0000
1429
select distinct mod(companynr,10) from t4 group by companynr;
1430
mod(companynr,10)
1431
0
1432
9
1433
4
1434
6
1435
7
1436
1
1437
3
1438
8
1439
5
1440
select distinct 1 from t4 group by companynr;
1441
1
1442
1
1443
select count(distinct fld1) from t2;
1444
count(distinct fld1)
1445
1199
1446
select companynr,count(distinct fld1) from t2 group by companynr;
1447
companynr	count(distinct fld1)
1448
0	82
1449
29	95
1450
34	70
1451
36	215
1452
37	588
1453
40	37
1454
41	52
1455
50	11
1456
53	4
1457
58	23
1458
65	10
1459
68	12
1460
select companynr,count(*) from t2 group by companynr;
1461
companynr	count(*)
1462
0	82
1463
29	95
1464
34	70
1465
36	215
1466
37	588
1467
40	37
1468
41	52
1469
50	11
1470
53	4
1471
58	23
1472
65	10
1473
68	12
1474
select companynr,count(distinct concat(fld1,repeat(65,1000))) from t2 group by companynr;
1475
companynr	count(distinct concat(fld1,repeat(65,1000)))
1476
0	82
1477
29	95
1478
34	70
1479
36	215
1480
37	588
1481
40	37
1482
41	52
1483
50	11
1484
53	4
1485
58	23
1486
65	10
1487
68	12
1488
select companynr,count(distinct concat(fld1,repeat(65,200))) from t2 group by companynr;
1489
companynr	count(distinct concat(fld1,repeat(65,200)))
1490
0	82
1491
29	95
1492
34	70
1493
36	215
1494
37	588
1495
40	37
1496
41	52
1497
50	11
1498
53	4
1499
58	23
1500
65	10
1501
68	12
1502
select companynr,count(distinct floor(fld1/100)) from t2 group by companynr;
1503
companynr	count(distinct floor(fld1/100))
1504
0	47
1505
29	35
1506
34	14
1507
36	69
1508
37	108
1509
40	16
1510
41	11
1511
50	9
1512
53	1
1513
58	1
1514
65	1
1515
68	1
1516
select companynr,count(distinct concat(repeat(65,1000),floor(fld1/100))) from t2 group by companynr;
1517
companynr	count(distinct concat(repeat(65,1000),floor(fld1/100)))
1518
0	47
1519
29	35
1520
34	14
1521
36	69
1522
37	108
1523
40	16
1524
41	11
1525
50	9
1526
53	1
1527
58	1
1528
65	1
1529
68	1
1530
select sum(fld1),fld3 from t2 where fld3="Romans" group by fld1 limit 10;
1531
sum(fld1)	fld3
1532
11402	Romans
1533
select name,count(*) from t3 where name='cloakroom' group by name;
1534
name	count(*)
1535
cloakroom	4181
1536
select name,count(*) from t3 where name='cloakroom' and price>10 group by name;
1537
name	count(*)
1538
cloakroom	4181
1539
select count(*) from t3 where name='cloakroom' and price2=823742;
1540
count(*)
1541
4181
1542
select name,count(*) from t3 where name='cloakroom' and price2=823742 group by name;
1543
name	count(*)
1544
cloakroom	4181
1545
select name,count(*) from t3 where name >= "extramarital" and price <= 39654943 group by name;
1546
name	count(*)
1547
extramarital	4181
1548
gazer	4181
1549
gems	4181
1550
Iranizes	4181
1551
spates	4181
1552
tucked	4181
1553
violinist	4181
1554
select t2.fld3,count(*) from t2,t3 where t2.fld1=158402 and t3.name=t2.fld3 group by t3.name;
1555
fld3	count(*)
1556
spates	4181
1557
select companynr,companyname from t4 group by 1;
1558
companynr	companyname
1559
0	Unknown
1560
29	company 1
1561
34	company 2
1562
36	company 3
1563
37	company 4
1564
40	company 5
1565
41	company 6
1566
50	company 11
1567
53	company 7
1568
58	company 8
1569
65	company 9
1570
68	company 10
1571
select t2.companynr,companyname,count(*) from t2,t4 where t2.companynr=t4.companynr group by t2.companynr order by companyname;
1572
companynr	companyname	count(*)
1573
29	company 1	95
1574
68	company 10	12
1575
50	company 11	11
1576
34	company 2	70
1577
36	company 3	215
1578
37	company 4	588
1579
40	company 5	37
1580
41	company 6	52
1581
53	company 7	4
1582
58	company 8	23
1583
65	company 9	10
1584
0	Unknown	82
1585
select t2.fld1,count(*) from t2,t3 where t2.fld1=158402 and t3.name=t2.fld3 group by t3.name;
1586
fld1	count(*)
1587
158402	4181
1588
select sum(Period)/count(*) from t1;
1589
sum(Period)/count(*)
1590
9410.0000
1591
select companynr,count(price) as "count",sum(price) as "sum" ,abs(sum(price)/count(price)-avg(price)) as "diff",(0+count(price))*companynr as func from t3 group by companynr;
1592
companynr	count	sum	diff	func
1593
37	12543	309394878010	0.0000	464091
1594
78	8362	414611089292	0.0000	652236
1595
101	4181	3489454238	0.0000	422281
1596
154	4181	4112197254950	0.0000	643874
1597
311	4181	979599938	0.0000	1300291
1598
447	4181	9929180954	0.0000	1868907
1599
512	4181	3288532102	0.0000	2140672
1600
select companynr,sum(price)/count(price) as avg from t3 group by companynr having avg > 70000000 order by avg;
1601
companynr	avg
1602
154	983543950.0000
1603
select companynr,count(*) from t2 group by companynr order by 2 desc;
1604
companynr	count(*)
1605
37	588
1606
36	215
1607
29	95
1608
0	82
1609
34	70
1610
41	52
1611
40	37
1612
58	23
1613
68	12
1614
50	11
1615
65	10
1616
53	4
1617
select companynr,count(*) from t2 where companynr > 40 group by companynr order by 2 desc;
1618
companynr	count(*)
1619
41	52
1620
58	23
1621
68	12
1622
50	11
1623
65	10
1624
53	4
1625
select t2.fld4,t2.fld1,count(price),sum(price),min(price),max(price),avg(price) from t3,t2 where t3.companynr = 37 and t2.fld1 = t3.t2nr group by fld1,t2.fld4;
1626
fld4	fld1	count(price)	sum(price)	min(price)	max(price)	avg(price)
1627
teethe	1	1	5987435	5987435	5987435	5987435.0000
1628
dreaded	11401	1	5987435	5987435	5987435	5987435.0000
1629
scholastics	11402	1	28357832	28357832	28357832	28357832.0000
1630
audiology	11403	1	39654943	39654943	39654943	39654943.0000
1631
wallet	11501	1	5987435	5987435	5987435	5987435.0000
1632
parters	11701	1	5987435	5987435	5987435	5987435.0000
1633
eschew	11702	1	28357832	28357832	28357832	28357832.0000
1634
quitter	11703	1	39654943	39654943	39654943	39654943.0000
1635
neat	12001	1	5987435	5987435	5987435	5987435.0000
1636
Steinberg	12003	1	39654943	39654943	39654943	39654943.0000
1637
balled	12301	1	5987435	5987435	5987435	5987435.0000
1638
persist	12302	1	28357832	28357832	28357832	28357832.0000
1639
attainments	12303	1	39654943	39654943	39654943	39654943.0000
1640
capably	12501	1	5987435	5987435	5987435	5987435.0000
1641
impulsive	12602	1	28357832	28357832	28357832	28357832.0000
1642
starlet	12603	1	39654943	39654943	39654943	39654943.0000
1643
featherweight	12701	1	5987435	5987435	5987435	5987435.0000
1644
pessimist	12702	1	28357832	28357832	28357832	28357832.0000
1645
daughter	12703	1	39654943	39654943	39654943	39654943.0000
1646
lawgiver	13601	1	5987435	5987435	5987435	5987435.0000
1647
stated	13602	1	28357832	28357832	28357832	28357832.0000
1648
readable	13603	1	39654943	39654943	39654943	39654943.0000
1649
testicle	13801	1	5987435	5987435	5987435	5987435.0000
1650
Parsifal	13802	1	28357832	28357832	28357832	28357832.0000
1651
leavings	13803	1	39654943	39654943	39654943	39654943.0000
1652
squeaking	13901	1	5987435	5987435	5987435	5987435.0000
1653
contrasted	16001	1	5987435	5987435	5987435	5987435.0000
1654
leftover	16201	1	5987435	5987435	5987435	5987435.0000
1655
whiteners	16202	1	28357832	28357832	28357832	28357832.0000
1656
erases	16301	1	5987435	5987435	5987435	5987435.0000
1657
Punjab	16302	1	28357832	28357832	28357832	28357832.0000
1658
Merritt	16303	1	39654943	39654943	39654943	39654943.0000
1659
sweetish	18001	1	5987435	5987435	5987435	5987435.0000
1660
dogging	18002	1	28357832	28357832	28357832	28357832.0000
1661
scornfully	18003	1	39654943	39654943	39654943	39654943.0000
1662
fetters	18012	1	28357832	28357832	28357832	28357832.0000
1663
bivalves	18013	1	39654943	39654943	39654943	39654943.0000
1664
skulking	18021	1	5987435	5987435	5987435	5987435.0000
1665
flint	18022	1	28357832	28357832	28357832	28357832.0000
1666
flopping	18023	1	39654943	39654943	39654943	39654943.0000
1667
Judas	18032	1	28357832	28357832	28357832	28357832.0000
1668
vacuuming	18033	1	39654943	39654943	39654943	39654943.0000
1669
medical	18041	1	5987435	5987435	5987435	5987435.0000
1670
bloodbath	18042	1	28357832	28357832	28357832	28357832.0000
1671
subschema	18043	1	39654943	39654943	39654943	39654943.0000
1672
interdependent	18051	1	5987435	5987435	5987435	5987435.0000
1673
Graves	18052	1	28357832	28357832	28357832	28357832.0000
1674
neonatal	18053	1	39654943	39654943	39654943	39654943.0000
1675
sorters	18061	1	5987435	5987435	5987435	5987435.0000
1676
epistle	18062	1	28357832	28357832	28357832	28357832.0000
1677
Conley	18101	1	5987435	5987435	5987435	5987435.0000
1678
lectured	18102	1	28357832	28357832	28357832	28357832.0000
1679
Abraham	18103	1	39654943	39654943	39654943	39654943.0000
1680
cage	18201	1	5987435	5987435	5987435	5987435.0000
1681
hushes	18202	1	28357832	28357832	28357832	28357832.0000
1682
Simla	18402	1	28357832	28357832	28357832	28357832.0000
1683
reporters	18403	1	39654943	39654943	39654943	39654943.0000
1684
coexist	18601	1	5987435	5987435	5987435	5987435.0000
1685
Beebe	18602	1	28357832	28357832	28357832	28357832.0000
1686
Taoism	18603	1	39654943	39654943	39654943	39654943.0000
1687
Connally	18801	1	5987435	5987435	5987435	5987435.0000
1688
fetched	18802	1	28357832	28357832	28357832	28357832.0000
1689
checkpoints	18803	1	39654943	39654943	39654943	39654943.0000
1690
gritty	18811	1	5987435	5987435	5987435	5987435.0000
1691
firearm	18812	1	28357832	28357832	28357832	28357832.0000
1692
minima	19101	1	5987435	5987435	5987435	5987435.0000
1693
Selfridge	19102	1	28357832	28357832	28357832	28357832.0000
1694
disable	19103	1	39654943	39654943	39654943	39654943.0000
1695
witchcraft	19201	1	5987435	5987435	5987435	5987435.0000
1696
betroth	30501	1	5987435	5987435	5987435	5987435.0000
1697
Manhattanize	30502	1	28357832	28357832	28357832	28357832.0000
1698
imprint	30503	1	39654943	39654943	39654943	39654943.0000
1699
swelling	31901	1	5987435	5987435	5987435	5987435.0000
1700
interrelationships	36001	1	5987435	5987435	5987435	5987435.0000
1701
riser	36002	1	28357832	28357832	28357832	28357832.0000
1702
bee	38001	1	5987435	5987435	5987435	5987435.0000
1703
kanji	38002	1	28357832	28357832	28357832	28357832.0000
1704
dental	38003	1	39654943	39654943	39654943	39654943.0000
1705
railway	38011	1	5987435	5987435	5987435	5987435.0000
1706
validate	38012	1	28357832	28357832	28357832	28357832.0000
1707
normalizes	38013	1	39654943	39654943	39654943	39654943.0000
1708
Kline	38101	1	5987435	5987435	5987435	5987435.0000
1709
Anatole	38102	1	28357832	28357832	28357832	28357832.0000
1710
partridges	38103	1	39654943	39654943	39654943	39654943.0000
1711
recruited	38201	1	5987435	5987435	5987435	5987435.0000
1712
dimensions	38202	1	28357832	28357832	28357832	28357832.0000
1713
Chicana	38203	1	39654943	39654943	39654943	39654943.0000
1714
select t3.companynr,fld3,sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 512 group by companynr,fld3;
1715
companynr	fld3	sum(price)
1716
512	boat	786542
1717
512	capably	786542
1718
512	cupboard	786542
1719
512	decliner	786542
1720
512	descendants	786542
1721
512	dopers	786542
1722
512	erases	786542
1723
512	Micronesia	786542
1724
512	Miles	786542
1725
512	skies	786542
1726
select t2.companynr,count(*),min(fld3),max(fld3),sum(price),avg(price) from t2,t3 where t3.companynr >= 30 and t3.companynr <= 58 and t3.t2nr = t2.fld1 and 1+1=2 group by t2.companynr;
1727
companynr	count(*)	min(fld3)	max(fld3)	sum(price)	avg(price)
1728
0	1	Omaha	Omaha	5987435	5987435.0000
1729
36	1	dubbed	dubbed	28357832	28357832.0000
1730
37	83	Abraham	Wotan	1908978016	22999735.1325
1731
50	2	scribbled	tapestry	68012775	34006387.5000
1732
select t3.companynr+0,t3.t2nr,fld3,sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 37 group by 1,t3.t2nr,fld3,fld3,fld3,fld3,fld3 order by fld1;
1733
t3.companynr+0	t2nr	fld3	sum(price)
1734
37	1	Omaha	5987435
1735
37	11401	breaking	5987435
1736
37	11402	Romans	28357832
1737
37	11403	intercepted	39654943
1738
37	11501	bewilderingly	5987435
1739
37	11701	astound	5987435
1740
37	11702	admonishing	28357832
1741
37	11703	sumac	39654943
1742
37	12001	flanking	5987435
1743
37	12003	combed	39654943
1744
37	12301	Eulerian	5987435
1745
37	12302	dubbed	28357832
1746
37	12303	Kane	39654943
1747
37	12501	annihilates	5987435
1748
37	12602	Wotan	28357832
1749
37	12603	snatching	39654943
1750
37	12701	grazing	5987435
1751
37	12702	Baird	28357832
1752
37	12703	celery	39654943
1753
37	13601	handgun	5987435
1754
37	13602	foldout	28357832
1755
37	13603	mystic	39654943
1756
37	13801	intelligibility	5987435
1757
37	13802	Augustine	28357832
1758
37	13803	teethe	39654943
1759
37	13901	scholastics	5987435
1760
37	16001	audiology	5987435
1761
37	16201	wallet	5987435
1762
37	16202	parters	28357832
1763
37	16301	eschew	5987435
1764
37	16302	quitter	28357832
1765
37	16303	neat	39654943
1766
37	18001	jarring	5987435
1767
37	18002	tinily	28357832
1768
37	18003	balled	39654943
1769
37	18012	impulsive	28357832
1770
37	18013	starlet	39654943
1771
37	18021	lawgiver	5987435
1772
37	18022	stated	28357832
1773
37	18023	readable	39654943
1774
37	18032	testicle	28357832
1775
37	18033	Parsifal	39654943
1776
37	18041	Punjab	5987435
1777
37	18042	Merritt	28357832
1778
37	18043	Quixotism	39654943
1779
37	18051	sureties	5987435
1780
37	18052	puddings	28357832
1781
37	18053	tapestry	39654943
1782
37	18061	trimmings	5987435
1783
37	18062	humility	28357832
1784
37	18101	tragedies	5987435
1785
37	18102	skulking	28357832
1786
37	18103	flint	39654943
1787
37	18201	relaxing	5987435
1788
37	18202	offload	28357832
1789
37	18402	suites	28357832
1790
37	18403	lists	39654943
1791
37	18601	vacuuming	5987435
1792
37	18602	dentally	28357832
1793
37	18603	humanness	39654943
1794
37	18801	inch	5987435
1795
37	18802	Weissmuller	28357832
1796
37	18803	irresponsibly	39654943
1797
37	18811	repetitions	5987435
1798
37	18812	Antares	28357832
1799
37	19101	ventilate	5987435
1800
37	19102	pityingly	28357832
1801
37	19103	interdependent	39654943
1802
37	19201	Graves	5987435
1803
37	30501	neonatal	5987435
1804
37	30502	scribbled	28357832
1805
37	30503	chafe	39654943
1806
37	31901	realtor	5987435
1807
37	36001	elite	5987435
1808
37	36002	funereal	28357832
1809
37	38001	Conley	5987435
1810
37	38002	lectured	28357832
1811
37	38003	Abraham	39654943
1812
37	38011	groupings	5987435
1813
37	38012	dissociate	28357832
1814
37	38013	coexist	39654943
1815
37	38101	rusting	5987435
1816
37	38102	galling	28357832
1817
37	38103	obliterates	39654943
1818
37	38201	resumes	5987435
1819
37	38202	analyzable	28357832
1820
37	38203	terminator	39654943
1821
select sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 512 and t3.t2nr = 38008 and t2.fld1 = 38008 or t2.fld1= t3.t2nr and t3.t2nr = 38008 and t2.fld1 = 38008;
1822
sum(price)
1823
234298
1824
select t2.fld1,sum(price) from t3,t2 where t2.fld1 = t3.t2nr and t3.companynr = 512 and t3.t2nr = 38008 and t2.fld1 = 38008 or t2.fld1 = t3.t2nr and t3.t2nr = 38008 and t2.fld1 = 38008 or t3.t2nr = t2.fld1 and t2.fld1 = 38008 group by t2.fld1;
1825
fld1	sum(price)
1826
38008	234298
1827
select companynr,fld1 from t2 HAVING fld1=250501 or fld1=250502;
1828
companynr	fld1
1829
34	250501
1830
34	250502
1831
select companynr,fld1 from t2 WHERE fld1>=250501 HAVING fld1<=250502;
1832
companynr	fld1
1833
34	250501
1834
34	250502
1835
select companynr,count(*) as count,sum(fld1) as sum from t2 group by companynr having count > 40 and sum/count >= 120000;
1836
companynr	count	sum
1837
0	82	10355753
1838
29	95	14473298
1839
34	70	17788966
1840
37	588	83602098
1841
41	52	12816335
1842
select companynr from t2 group by companynr having count(*) > 40 and sum(fld1)/count(*) >= 120000 ;
1843
companynr
1844
0
1845
29
1846
34
1847
37
1848
41
1849
select t2.companynr,companyname,count(*) from t2,t4 where t2.companynr=t4.companynr group by companyname having t2.companynr >= 40;
1850
companynr	companyname	count(*)
1851
68	company 10	12
1852
50	company 11	11
1853
40	company 5	37
1854
41	company 6	52
1855
53	company 7	4
1856
58	company 8	23
1857
65	company 9	10
1858
select count(*) from t2;
1859
count(*)
1860
1199
1861
select count(*) from t2 where fld1 < 098024;
1862
count(*)
1863
387
1864
select min(fld1) from t2 where fld1>= 098024;
1865
min(fld1)
1866
98024
1867
select max(fld1) from t2 where fld1>= 098024;
1868
max(fld1)
1869
1232609
1870
select count(*) from t3 where price2=76234234;
1871
count(*)
1872
4181
1873
select count(*) from t3 where companynr=512 and price2=76234234;
1874
count(*)
1875
4181
1876
select min(fld1),max(fld1),count(*) from t2;
1877
min(fld1)	max(fld1)	count(*)
1878
0	1232609	1199
1879
select min(t2nr),max(t2nr) from t3 where t2nr=2115 and price2=823742;
1880
min(t2nr)	max(t2nr)
1881
2115	2115
1882
select count(*),min(t2nr),max(t2nr) from t3 where name='spates' and companynr=78;
1883
count(*)	min(t2nr)	max(t2nr)
1884
4181	4	41804
1885
select t2nr,count(*) from t3 where name='gems' group by t2nr limit 20;
1886
t2nr	count(*)
1887
9	1
1888
19	1
1889
29	1
1890
39	1
1891
49	1
1892
59	1
1893
69	1
1894
79	1
1895
89	1
1896
99	1
1897
109	1
1898
119	1
1899
129	1
1900
139	1
1901
149	1
1902
159	1
1903
169	1
1904
179	1
1905
189	1
1906
199	1
1907
select max(t2nr) from t3 where price=983543950;
1908
max(t2nr)
1909
41807
1910
select t1.period from t3 = t1 limit 1;
1911
period
1912
1001
1913
select t1.period from t1 as t1 limit 1;
1914
period
1915
9410
1916
select t1.period as "Nuvarande period" from t1 as t1 limit 1;
1917
Nuvarande period
1918
9410
1919
select period as ok_period from t1 limit 1;
1920
ok_period
1921
9410
1922
select period as ok_period from t1 group by ok_period limit 1;
1923
ok_period
1924
9410
1925
select 1+1 as summa from t1 group by summa limit 1;
1926
summa
1927
2
1928
select period as "Nuvarande period" from t1 group by "Nuvarande period" limit 1;
1929
Nuvarande period
1930
9410
1931
show tables;
1932
Tables_in_test
1933
t1
1934
t2
1935
t3
1936
t4
1937
show tables from test like "s%";
1938
Tables_in_test (s%)
1939
show tables from test like "t?";
1940
Tables_in_test (t?)
1941
show full columns from t2;
1942
Field	Type	Collation	Null	Key	Default	Extra	Privileges	Comment
1943
auto	int	NULL	NO	PRI	NULL	auto_increment	#	
1944
fld1	int	NULL	NO	UNI	NULL		#	
1945
companynr	int	NULL	NO		NULL		#	
1946
fld3	varchar(30)	utf8_general_ci	NO	MUL	NULL		#	
1947
fld4	varchar(35)	utf8_general_ci	NO		NULL		#	
1948
fld5	varchar(35)	utf8_general_ci	NO		NULL		#	
1949
fld6	varchar(4)	utf8_general_ci	NO		NULL		#	
1950
show full columns from t2 from test like 'f%';
1951
Field	Type	Collation	Null	Key	Default	Extra	Privileges	Comment
1952
fld1	int	NULL	NO	UNI	NULL		#	
1953
fld3	varchar(30)	utf8_general_ci	NO	MUL	NULL		#	
1954
fld4	varchar(35)	utf8_general_ci	NO		NULL		#	
1955
fld5	varchar(35)	utf8_general_ci	NO		NULL		#	
1956
fld6	varchar(4)	utf8_general_ci	NO		NULL		#	
1957
show full columns from t2 from test like 's%';
1958
Field	Type	Collation	Null	Key	Default	Extra	Privileges	Comment
1959
drop table t4, t3, t2, t1;
1960
CREATE TABLE t1 (
1961
id bigint NOT NULL auto_increment,
1962
pseudo varchar(35) NOT NULL default '',
1963
PRIMARY KEY  (id),
1964
UNIQUE KEY pseudo (pseudo)
1965
);
1966
INSERT INTO t1 (pseudo) VALUES ('test');
1967
INSERT INTO t1 (pseudo) VALUES ('test1');
1968
SELECT 1 as rnd1 from t1 where rand() > 2;
1969
rnd1
1970
DROP TABLE t1;
1971
CREATE TABLE t1 (gvid int default NULL,  hmid int default NULL,  volid int default NULL,  mmid int default NULL,  hdid int default NULL,  fsid int default NULL,  ctid int default NULL,  dtid int default NULL,  cost int default NULL,  performance int default NULL,  serialnumber bigint default NULL,  monitored int default '1',  removed int default '0',  target int default '0',  dt_modified timestamp NOT NULL,  name varchar(255) binary default NULL,  description varchar(255) default NULL,  UNIQUE KEY hmid (hmid,volid)) ENGINE=MyISAM;
1972
INSERT INTO t1 VALUES (200001,2,1,1,100,1,1,1,0,0,0,1,0,1,20020425060057,'\\\\ARKIVIO-TESTPDC\\E$',''),(200002,2,2,1,101,1,1,1,0,0,0,1,0,1,20020425060057,'\\\\ARKIVIO-TESTPDC\\C$',''),(200003,1,3,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,1,20020425060427,'c:',NULL);
1973
CREATE TABLE t2 (  hmid int default NULL,  volid int default NULL,  sampletid int default NULL,  sampletime datetime default NULL,  samplevalue bigint default NULL,  KEY idx1 (hmid,volid,sampletid,sampletime)) ENGINE=MyISAM;
1974
INSERT INTO t2 VALUES (1,3,10,'2002-06-01 08:00:00',35),(1,3,1010,'2002-06-01 12:00:01',35);
1975
SELECT a.gvid, (SUM(CASE b.sampletid WHEN 140 THEN b.samplevalue ELSE 0 END)) as the_success,(SUM(CASE b.sampletid WHEN 141 THEN b.samplevalue ELSE 0 END)) as the_fail,(SUM(CASE b.sampletid WHEN 142 THEN b.samplevalue ELSE 0 END)) as the_size,(SUM(CASE b.sampletid WHEN 143 THEN b.samplevalue ELSE 0 END)) as the_time FROM t1 a, t2 b WHERE a.hmid = b.hmid AND a.volid = b.volid AND b.sampletime >= 'wrong-date-value' AND b.sampletime < 'wrong-date-value' AND b.sampletid IN (140, 141, 142, 143) GROUP BY a.gvid;
1976
gvid	the_success	the_fail	the_size	the_time
1977
Warnings:
1978
Warning	1292	Incorrect datetime value: 'wrong-date-value' for column 'sampletime' at row 1
1979
Warning	1292	Incorrect datetime value: 'wrong-date-value' for column 'sampletime' at row 1
1980
SELECT a.gvid, (SUM(CASE b.sampletid WHEN 140 THEN b.samplevalue ELSE 0 END)) as the_success,(SUM(CASE b.sampletid WHEN 141 THEN b.samplevalue ELSE 0 END)) as the_fail,(SUM(CASE b.sampletid WHEN 142 THEN b.samplevalue ELSE 0 END)) as the_size,(SUM(CASE b.sampletid WHEN 143 THEN b.samplevalue ELSE 0 END)) as the_time FROM t1 a, t2 b WHERE a.hmid = b.hmid AND a.volid = b.volid AND b.sampletime >= NULL AND b.sampletime < NULL AND b.sampletid IN (140, 141, 142, 143) GROUP BY a.gvid;
1981
gvid	the_success	the_fail	the_size	the_time
1982
DROP TABLE t1,t2;
1983
create table  t1 (  A_Id bigint NOT NULL default '0',  A_UpdateBy char(10) NOT NULL default '',  A_UpdateDate bigint NOT NULL default '0',  A_UpdateSerial int NOT NULL default '0',  other_types bigint NOT NULL default '0',  wss_type bigint NOT NULL default '0');
1984
INSERT INTO t1 VALUES (102935998719055004,'brade',1029359987,2,102935229116544068,102935229216544093);
1985
select wss_type from t1 where wss_type ='102935229216544106';
1986
wss_type
1987
select wss_type from t1 where wss_type ='102935229216544105';
1988
wss_type
1989
select wss_type from t1 where wss_type ='102935229216544104';
1990
wss_type
1991
select wss_type from t1 where wss_type ='102935229216544093';
1992
wss_type
1993
102935229216544093
1994
select wss_type from t1 where wss_type =102935229216544093;
1995
wss_type
1996
102935229216544093
1997
drop table t1;
1998
select 1+2,"aaaa",3.13*2.0 into @a,@b,@c;
1999
select @a;
2000
@a
2001
3
2002
select @b;
2003
@b
2004
aaaa
2005
select @c;
2006
@c
2007
6.260
2008
create table t1 (a int not null auto_increment primary key);
2009
insert into t1 values ();
2010
insert into t1 values ();
2011
insert into t1 values ();
2012
select * from (t1 as t2 left join t1 as t3 using (a)), t1;
2013
a	a
2014
1	1
2015
2	1
2016
3	1
2017
1	2
2018
2	2
2019
3	2
2020
1	3
2021
2	3
2022
3	3
2023
select * from t1, (t1 as t2 left join t1 as t3 using (a));
2024
a	a
2025
1	1
2026
2	1
2027
3	1
2028
1	2
2029
2	2
2030
3	2
2031
1	3
2032
2	3
2033
3	3
2034
select * from (t1 as t2 left join t1 as t3 using (a)) straight_join t1;
2035
a	a
2036
1	1
2037
2	1
2038
3	1
2039
1	2
2040
2	2
2041
3	2
2042
1	3
2043
2	3
2044
3	3
2045
select * from t1 straight_join (t1 as t2 left join t1 as t3 using (a));
2046
a	a
2047
1	1
2048
2	1
2049
3	1
2050
1	2
2051
2	2
2052
3	2
2053
1	3
2054
2	3
2055
3	3
2056
select * from (t1 as t2 left join t1 as t3 using (a)) inner join t1 on t1.a>1;
2057
a	a
2058
1	2
2059
1	3
2060
2	2
2061
2	3
2062
3	2
2063
3	3
2064
select * from t1 inner join (t1 as t2 left join t1 as t3 using (a)) on t1.a>1;
2065
a	a
2066
2	1
2067
3	1
2068
2	2
2069
3	2
2070
2	3
2071
3	3
2072
select * from (t1 as t2 left join t1 as t3 using (a)) inner join t1 using ( a );
2073
a
2074
1
2075
2
2076
3
2077
select * from t1 inner join (t1 as t2 left join t1 as t3 using (a)) using ( a );
2078
a
2079
1
2080
2
2081
3
2082
select * from (t1 as t2 left join t1 as t3 using (a)) left outer join t1 on t1.a>1;
2083
a	a
2084
1	2
2085
1	3
2086
2	2
2087
2	3
2088
3	2
2089
3	3
2090
select * from t1 left outer join (t1 as t2 left join t1 as t3 using (a)) on t1.a>1;
2091
a	a
2092
1	NULL
2093
2	1
2094
2	2
2095
2	3
2096
3	1
2097
3	2
2098
3	3
2099
select * from (t1 as t2 left join t1 as t3 using (a)) left join t1 using ( a );
2100
a
2101
1
2102
2
2103
3
2104
select * from t1 left join (t1 as t2 left join t1 as t3 using (a)) using ( a );
2105
a
2106
1
2107
2
2108
3
2109
select * from (t1 as t2 left join t1 as t3 using (a)) natural left join t1;
2110
a
2111
1
2112
2
2113
3
2114
select * from t1 natural left join (t1 as t2 left join t1 as t3 using (a));
2115
a
2116
1
2117
2
2118
3
2119
select * from (t1 as t2 left join t1 as t3 using (a)) right join t1 on t1.a>1;
2120
a	a
2121
NULL	1
2122
1	2
2123
2	2
2124
3	2
2125
1	3
2126
2	3
2127
3	3
2128
select * from t1 right join (t1 as t2 left join t1 as t3 using (a)) on t1.a>1;
2129
a	a
2130
2	1
2131
3	1
2132
2	2
2133
3	2
2134
2	3
2135
3	3
2136
select * from (t1 as t2 left join t1 as t3 using (a)) right outer join t1 using ( a );
2137
a
2138
1
2139
2
2140
3
2141
select * from t1 right outer join (t1 as t2 left join t1 as t3 using (a)) using ( a );
2142
a
2143
1
2144
2
2145
3
2146
select * from (t1 as t2 left join t1 as t3 using (a)) natural right join t1;
2147
a
2148
1
2149
2
2150
3
2151
select * from t1 natural right join (t1 as t2 left join t1 as t3 using (a));
2152
a
2153
1
2154
2
2155
3
2156
select * from t1 natural join (t1 as t2 left join t1 as t3 using (a));
2157
a
2158
1
2159
2
2160
3
2161
select * from (t1 as t2 left join t1 as t3 using (a)) natural join t1;
2162
a
2163
1
2164
2
2165
3
2166
drop table t1;
2167
CREATE TABLE t1 (  aa char(2),  id int NOT NULL auto_increment,  t2_id int NOT NULL default '0',  PRIMARY KEY  (id),  KEY replace_id (t2_id)) ENGINE=MyISAM;
2168
INSERT INTO t1 VALUES ("1",8264,2506),("2",8299,2517),("3",8301,2518),("4",8302,2519),("5",8303,2520),("6",8304,2521),("7",8305,2522);
2169
CREATE TABLE t2 ( id int NOT NULL auto_increment,  PRIMARY KEY  (id)) ENGINE=MyISAM;
2170
INSERT INTO t2 VALUES (2517), (2518), (2519), (2520), (2521), (2522);
2171
select * from t1, t2 WHERE t1.t2_id = t2.id and t1.t2_id > 0   order by t1.id   LIMIT 0, 5;
2172
aa	id	t2_id	id
2173
2	8299	2517	2517
2174
3	8301	2518	2518
2175
4	8302	2519	2519
2176
5	8303	2520	2520
2177
6	8304	2521	2521
2178
drop table t1,t2;
2179
create table t1 (id1 int NOT NULL);
2180
create table t2 (id2 int NOT NULL);
2181
create table t3 (id3 int NOT NULL);
2182
create table t4 (id4 int NOT NULL, id44 int NOT NULL, KEY (id4));
2183
insert into t1 values (1);
2184
insert into t1 values (2);
2185
insert into t2 values (1);
2186
insert into t4 values (1,1);
2187
select * from t1 left join t2 on id1 = id2 left join t3 on id1 = id3
2188
left join t4 on id3 = id4 where id2 = 1 or id4 = 1;
2189
id1	id2	id3	id4	id44
2190
1	1	NULL	NULL	NULL
2191
drop table t1,t2,t3,t4;
2192
create table t1(s varchar(10) not null);
2193
create table t2(s varchar(10) not null primary key);
2194
create table t3(s varchar(10) not null primary key);
2195
insert into t1 values ('one\t'), ('two\t');
2196
insert into t2 values ('one\r'), ('two\t');
2197
insert into t3 values ('one '), ('two\t');
2198
select * from t1 where s = 'one';
2199
s
2200
select * from t2 where s = 'one';
2201
s
2202
select * from t3 where s = 'one';
2203
s
2204
one 
2205
select * from t1,t2 where t1.s = t2.s;
2206
s	s
2207
two		two	
2208
select * from t2,t3 where t2.s = t3.s;
2209
s	s
2210
two		two	
2211
drop table t1, t2, t3;
2212
create table t1 (a integer,  b integer, index(a), index(b));
2213
create table t2 (c integer,  d integer, index(c), index(d));
2214
insert into t1 values (1,2), (2,2), (3,2), (4,2);
2215
insert into t2 values (1,3), (2,3), (3,4), (4,4);
2216
select * from t1 left join t2 on a=c where d in (4);
2217
a	b	c	d
2218
3	2	3	4
2219
4	2	4	4
2220
select * from t1 left join t2 on a=c where d = 4;
2221
a	b	c	d
2222
3	2	3	4
2223
4	2	4	4
2224
drop table t1, t2;
2225
CREATE TABLE t1 (
2226
i int NOT NULL default '0',
2227
c char(10) NOT NULL default '',
2228
PRIMARY KEY  (i),
2229
UNIQUE KEY c (c)
2230
) ENGINE=MyISAM;
2231
INSERT INTO t1 VALUES (1,'a');
2232
INSERT INTO t1 VALUES (2,'b');
2233
INSERT INTO t1 VALUES (3,'c');
2234
EXPLAIN SELECT i FROM t1 WHERE i=1;
2235
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2236
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	Using index
2237
DROP TABLE t1;
2238
CREATE TABLE t1 ( a BLOB, INDEX (a(20)) );
2239
CREATE TABLE t2 ( a BLOB, INDEX (a(20)) );
2240
INSERT INTO t1 VALUES ('one'),('two'),('three'),('four'),('five');
2241
INSERT INTO t2 VALUES ('one'),('two'),('three'),('four'),('five');
2242
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 USE INDEX (a) ON t1.a=t2.a;
2243
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2244
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	5	
2245
1	SIMPLE	t2	ref	a	a	23	test.t1.a	2	
2246
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 FORCE INDEX (a) ON t1.a=t2.a;
2247
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2248
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	5	
2249
1	SIMPLE	t2	ref	a	a	23	test.t1.a	2	
2250
DROP TABLE t1, t2;
2251
CREATE TABLE t1 ( city char(30) );
2252
INSERT INTO t1 VALUES ('London');
2253
INSERT INTO t1 VALUES ('Paris');
2254
SELECT * FROM t1 WHERE city='London';
2255
city
2256
London
2257
SELECT * FROM t1 WHERE city='london';
2258
city
2259
London
2260
EXPLAIN SELECT * FROM t1 WHERE city='London' AND city='london';
2261
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2262
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	Using where
2263
SELECT * FROM t1 WHERE city='London' AND city='london';
2264
city
2265
London
2266
EXPLAIN SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London';
2267
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2268
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	Using where
2269
SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London';
2270
city
2271
London
2272
DROP TABLE t1;
2273
create table t1 (a int, b int);
2274
insert into t1 values (1,0), (1,1), (1,2);
2275
select a-b  from t1 order by 1;
2276
a-b  
2277
-1
2278
0
2279
1
2280
select a-b , (a-b < 0)  from t1 order by 1;
2281
a-b 	(a-b < 0)
2282
-1	1
2283
0	0
2284
1	0
2285
select a-b as d, (a-b >= 0), b from t1 group by b having d >= 0;
2286
d	(a-b >= 0)	b
2287
1	1	0
2288
0	1	1
2289
select a - b from t1 order by 1;
2290
a - b 
2291
-1
2292
0
2293
1
2294
drop table t1;
2295
create table t1 (a int);
2296
select all all * from t1;
2297
a
2298
select distinct distinct * from t1;
2299
a
2300
select all distinct * from t1;
2301
ERROR HY000: Incorrect usage of ALL and DISTINCT
2302
select distinct all * from t1;
2303
ERROR HY000: Incorrect usage of ALL and DISTINCT
2304
drop table t1;
2305
CREATE TABLE t1 (
2306
kunde_intern_id int NOT NULL default '0',
2307
kunde_id int NOT NULL default '0',
2308
FK_firma_id int NOT NULL default '0',
2309
aktuell enum('Ja','Nein') NOT NULL default 'Ja',
2310
vorname varchar(128) NOT NULL default '',
2311
nachname varchar(128) NOT NULL default '',
2312
geloescht enum('Ja','Nein') NOT NULL default 'Nein',
2313
firma varchar(128) NOT NULL default ''
2314
);
2315
INSERT INTO t1 VALUES 
2316
(3964,3051,1,'Ja','Vorname1','1Nachname','Nein','Print Schau XXXX'),
2317
(3965,3051111,1,'Ja','Vorname1111','1111Nachname','Nein','Print Schau XXXX');
2318
SELECT kunde_id ,FK_firma_id ,aktuell, vorname, nachname, geloescht FROM t1
2319
WHERE
2320
(
2321
(
2322
( '' != '' AND firma LIKE CONCAT('%', '', '%'))
2323
OR
2324
(vorname LIKE CONCAT('%', 'Vorname1', '%') AND 
2325
nachname LIKE CONCAT('%', '1Nachname', '%') AND 
2326
'Vorname1' != '' AND 'xxxx' != '')
2327
)
2328
AND
2329
(
2330
aktuell = 'Ja' AND geloescht = 'Nein' AND FK_firma_id = 2
2331
)
2332
)
2333
;
2334
kunde_id	FK_firma_id	aktuell	vorname	nachname	geloescht
2335
SELECT kunde_id ,FK_firma_id ,aktuell, vorname, nachname,
2336
geloescht FROM t1
2337
WHERE
2338
(
2339
(
2340
aktuell = 'Ja' AND geloescht = 'Nein' AND FK_firma_id = 2
2341
)
2342
AND
2343
(
2344
( '' != '' AND firma LIKE CONCAT('%', '', '%')  )
2345
OR
2346
(  vorname LIKE CONCAT('%', 'Vorname1', '%') AND
2347
nachname LIKE CONCAT('%', '1Nachname', '%') AND 'Vorname1' != '' AND
2348
'xxxx' != '')
2349
)
2350
)
2351
;
2352
kunde_id	FK_firma_id	aktuell	vorname	nachname	geloescht
2353
SELECT COUNT(*) FROM t1 WHERE 
2354
( 0 OR (vorname LIKE '%Vorname1%' AND nachname LIKE '%1Nachname%' AND 1)) 
2355
AND FK_firma_id = 2;
2356
COUNT(*)
2357
0
2358
drop table t1;
2359
CREATE TABLE t1 (b BIGINT NOT NULL, PRIMARY KEY (b));
2360
INSERT INTO t1 VALUES (0x4000000000000000);
2361
SELECT b FROM t1 WHERE b=0x4000000000000000;
2362
b
2363
4611686018427387904
2364
DROP TABLE t1;
2365
CREATE TABLE `t1` ( `gid` int default NULL, `uid` int default NULL);
2366
CREATE TABLE `t2` ( `ident` int default NULL, `level` char(16) default NULL);
2367
INSERT INTO `t2` VALUES (0,'READ');
2368
CREATE TABLE `t3` ( `id` int default NULL, `name` char(16) default NULL);
2369
INSERT INTO `t3` VALUES (1,'fs');
2370
select * from t3 left join t1 on t3.id = t1.uid, t2 where t2.ident in (0, t1.gid, t3.id, 0);
2371
id	name	gid	uid	ident	level
2372
1	fs	NULL	NULL	0	READ
2373
drop table t1,t2,t3;
2374
CREATE TABLE t1 (
2375
acct_id int NOT NULL default '0',
2376
profile_id int default NULL,
2377
UNIQUE KEY t1$acct_id (acct_id),
2378
KEY t1$profile_id (profile_id)
2379
);
2380
INSERT INTO t1 VALUES (132,17),(133,18);
2381
CREATE TABLE t2 (
2382
profile_id int default NULL,
2383
queue_id int default NULL,
2384
seq int default NULL,
2385
KEY t2$queue_id (queue_id)
2386
);
2387
INSERT INTO t2 VALUES (17,31,4),(17,30,3),(17,36,2),(17,37,1);
2388
CREATE TABLE t3 (
2389
id int NOT NULL default '0',
2390
qtype int default NULL,
2391
seq int default NULL,
2392
warn_lvl int default NULL,
2393
crit_lvl int default NULL,
2394
rr1 int NOT NULL default '0',
2395
rr2 int default NULL,
2396
default_queue int NOT NULL default '0',
2397
KEY t3$qtype (qtype),
2398
KEY t3$id (id)
2399
);
2400
INSERT INTO t3 VALUES (30,1,29,NULL,NULL,0,NULL,0),(31,1,28,NULL,NULL,0,NULL,0),
2401
(36,1,34,NULL,NULL,0,NULL,0),(37,1,35,NULL,NULL,0,121,0);
2402
SELECT COUNT(*) FROM t1 a STRAIGHT_JOIN t2 pq STRAIGHT_JOIN t3 q 
2403
WHERE 
2404
(pq.profile_id = a.profile_id) AND (a.acct_id = 132) AND 
2405
(pq.queue_id = q.id) AND (q.rr1 <> 1);
2406
COUNT(*)
2407
4
2408
drop table t1,t2,t3;
2409
create table t1 (f1 int);
2410
insert into t1 values (1),(NULL);
2411
create table t2 (f2 int, f3 int, f4 int);
2412
create index idx1 on t2 (f4);
2413
insert into t2 values (1,2,3),(2,4,6);
2414
select A.f2 from t1 left join t2 A on A.f2 = f1 where A.f3=(select min(f3)
2415
from  t2 C where A.f4 = C.f4) or A.f3 IS NULL;
2416
f2
2417
1
2418
NULL
2419
drop table t1,t2;
2420
create table t2 (a int);
2421
create index t2i on t2(a);
2422
insert into t2 values (0), (254), (255);
2423
select * from t2 where a > -1;
2424
a
2425
0
2426
254
2427
255
2428
drop table t2;
2429
CREATE TABLE t1 (a INT, b INT);
2430
(SELECT a, b AS c FROM t1) ORDER BY c+1;
2431
a	c
2432
(SELECT a, b AS c FROM t1) ORDER BY b+1;
2433
a	c
2434
SELECT a, b AS c FROM t1 ORDER BY c+1;
2435
a	c
2436
SELECT a, b AS c FROM t1 ORDER BY b+1;
2437
a	c
2438
drop table t1;
2439
create table t1(f1 int, f2 int);
2440
create table t2(f3 int);
2441
select f1 from t1,t2 where f1=f2 and (f1,f2) = ((1,1));
2442
f1
2443
select f1 from t1,t2 where f1=f2 and (f1,NULL) = ((1,1));
2444
f1
2445
select f1 from t1,t2 where f1=f2 and (f1,f2) = ((1,NULL));
2446
f1
2447
insert into t1 values(1,1),(2,null);
2448
insert into t2 values(2);
2449
select * from t1,t2 where f1=f3 and (f1,f2) = (2,null);
2450
f1	f2	f3
2451
select * from t1,t2 where f1=f3 and (f1,f2) <=> (2,null);
2452
f1	f2	f3
2453
2	NULL	2
2454
drop table t1,t2;
2455
create table t1 (f1 int not null auto_increment primary key, f2 varchar(10));
2456
create table t11 like t1;
2457
insert into t1 values(1,""),(2,"");
2458
show table status like 't1%';
2459
Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	Max_data_length	Index_length	Data_free	Auto_increment	Create_time	Update_time	Check_time	Collation	Checksum	Create_options	Comment
2460
t1	PBXT	10	Dynamic	2	60	X	X	X	X	X	X	X	X	utf8_general_ci	NULL		
2461
t11	PBXT	10	Dynamic	0	60	X	X	X	X	X	X	X	X	utf8_general_ci	NULL		
2462
select 123 as a from t1 where f1 is null;
2463
a
2464
drop table t1,t11;
2465
CREATE TABLE t1 ( a INT NOT NULL, b INT NOT NULL, UNIQUE idx (a,b) );
2466
INSERT INTO t1 VALUES (1,1),(1,2),(1,3),(1,4);
2467
CREATE TABLE t2 ( a INT NOT NULL, b INT NOT NULL, e INT );
2468
INSERT INTO t2 VALUES ( 1,10,1), (1,10,2), (1,11,1), (1,11,2), (1,2,1), (1,2,2),(1,2,3);
2469
SELECT t2.a, t2.b, IF(t1.b IS NULL,'',e) AS c, COUNT(*) AS d FROM t2 LEFT JOIN
2470
t1 ON t2.a = t1.a AND t2.b = t1.b GROUP BY a, b, c;
2471
a	b	c	d
2472
1	2	1	1
2473
1	2	2	1
2474
1	2	3	1
2475
1	10		2
2476
1	11		2
2477
SELECT t2.a, t2.b, IF(t1.b IS NULL,'',e) AS c, COUNT(*) AS d FROM t2 LEFT JOIN
2478
t1 ON t2.a = t1.a AND t2.b = t1.b GROUP BY t1.a, t1.b, c;
2479
a	b	c	d
2480
1	10		4
2481
1	2	1	1
2482
1	2	2	1
2483
1	2	3	1
2484
SELECT t2.a, t2.b, IF(t1.b IS NULL,'',e) AS c, COUNT(*) AS d FROM t2 LEFT JOIN
2485
t1 ON t2.a = t1.a AND t2.b = t1.b GROUP BY t2.a, t2.b, c;
2486
a	b	c	d
2487
1	2	1	1
2488
1	2	2	1
2489
1	2	3	1
2490
1	10		2
2491
1	11		2
2492
SELECT t2.a, t2.b, IF(t1.b IS NULL,'',e) AS c, COUNT(*) AS d FROM t2,t1
2493
WHERE t2.a = t1.a AND t2.b = t1.b GROUP BY a, b, c;
2494
a	b	c	d
2495
1	2	1	1
2496
1	2	2	1
2497
1	2	3	1
2498
DROP TABLE IF EXISTS t1, t2;
2499
create table t1 (f1 int primary key, f2 int);
2500
create table t2 (f3 int, f4 int, primary key(f3,f4));
2501
insert into t1 values (1,1);
2502
insert into t2 values (1,1),(1,2);
2503
select distinct count(f2) >0 from t1 left join t2 on f1=f3 group by f1;
2504
count(f2) >0
2505
1
2506
drop table t1,t2;
2507
create table t1 (f1 int,f2 int);
2508
insert into t1 values(1,1);
2509
create table t2 (f3 int, f4 int, primary key(f3,f4));
2510
insert into t2 values(1,1);
2511
select * from t1 where f1 in (select f3 from t2 where (f3,f4)= (select f3,f4 from t2));
2512
f1	f2
2513
1	1
2514
drop table t1,t2;
2515
CREATE TABLE t1(a int, b int, c int, KEY b(b), KEY c(c));
2516
insert into t1 values (1,0,0),(2,0,0);
2517
CREATE TABLE t2 (a int, b varchar(2), c varchar(2), PRIMARY KEY(a));
2518
insert into t2 values (1,'',''), (2,'','');
2519
CREATE TABLE t3 (a int, b int, PRIMARY KEY (a,b), KEY a (a), KEY b (b));
2520
insert into t3 values (1,1),(1,2);
2521
DROP TABLE t1,t2,t3;
2522
CREATE TABLE t1 (a int, INDEX idx(a));
2523
INSERT INTO t1 VALUES (2), (3), (1);
2524
EXPLAIN SELECT * FROM t1 IGNORE INDEX (idx);
2525
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2526
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	3	
2527
EXPLAIN SELECT * FROM t1 IGNORE INDEX (a);
2528
ERROR 42000: Key 'a' doesn't exist in table 't1'
2529
EXPLAIN SELECT * FROM t1 FORCE INDEX (a);
2530
ERROR 42000: Key 'a' doesn't exist in table 't1'
2531
DROP TABLE t1;
2532
CREATE TABLE t1 (a int, b int);
2533
INSERT INTO t1 VALUES (1,1), (2,1), (4,10);
2534
CREATE TABLE t2 (a int PRIMARY KEY, b int, KEY b (b));
2535
INSERT INTO t2 VALUES (1,NULL), (2,10);
2536
ALTER TABLE t1 ENABLE KEYS;
2537
Warnings:
2538
Note	1031	Table storage engine for 't1' doesn't have this option
2539
EXPLAIN SELECT STRAIGHT_JOIN COUNT(*) FROM t2, t1 WHERE t1.b = t2.b OR t2.b IS NULL;
2540
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2541
1	SIMPLE	t2	index	b	b	5	NULL	2	Using index
2542
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	3	Using where; Using join buffer
2543
SELECT STRAIGHT_JOIN * FROM t2, t1 WHERE t1.b = t2.b OR t2.b IS NULL;
2544
a	b	a	b
2545
1	NULL	1	1
2546
1	NULL	2	1
2547
1	NULL	4	10
2548
2	10	4	10
2549
EXPLAIN SELECT STRAIGHT_JOIN COUNT(*) FROM t2, t1 WHERE t1.b = t2.b OR t2.b IS NULL;
2550
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2551
1	SIMPLE	t2	index	b	b	5	NULL	2	Using index
2552
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	3	Using where; Using join buffer
2553
SELECT STRAIGHT_JOIN * FROM t2, t1 WHERE t1.b = t2.b OR t2.b IS NULL;
2554
a	b	a	b
2555
1	NULL	1	1
2556
1	NULL	2	1
2557
1	NULL	4	10
2558
2	10	4	10
2559
DROP TABLE IF EXISTS t1,t2;
2560
CREATE TABLE t1 (key1 float default NULL, UNIQUE KEY key1 (key1));
2561
CREATE TABLE t2 (key2 float default NULL, UNIQUE KEY key2 (key2));
2562
INSERT INTO t1 VALUES (0.3762),(0.3845),(0.6158),(0.7941);
2563
INSERT INTO t2 VALUES (1.3762),(1.3845),(1.6158),(1.7941);
2564
select max(key1) from t1 where key1 <= 0.6158;
2565
max(key1)
2566
0.6158
2567
select max(key2) from t2 where key2 <= 1.6158;
2568
max(key2)
2569
1.6158
2570
select min(key1) from t1 where key1 >= 0.3762;
2571
min(key1)
2572
0.3762
2573
select min(key2) from t2 where key2 >= 1.3762;
2574
min(key2)
2575
1.3762
2576
select max(key1), min(key2) from t1, t2
2577
where key1 <= 0.6158 and key2 >= 1.3762;
2578
max(key1)	min(key2)
2579
0.6158	1.3762
2580
select max(key1) from t1 where key1 <= 0.6158 and rand() + 0.5 >= 0.5;
2581
max(key1)
2582
0.6158
2583
select min(key1) from t1 where key1 >= 0.3762 and rand() + 0.5 >= 0.5;
2584
min(key1)
2585
0.3762
2586
DROP TABLE t1,t2;
2587
CREATE TABLE t1 (i BIGINT NOT NULL);
2588
INSERT INTO t1 VALUES (10);
2589
SELECT i='1e+01',i=1e+01, i in (1e+01,1e+01), i in ('1e+01','1e+01') FROM t1;
2590
i='1e+01'	i=1e+01	i in (1e+01,1e+01)	i in ('1e+01','1e+01')
2591
1	1	1	1
2592
DROP TABLE t1;
2593
CREATE TABLE t1 (c0 int);
2594
CREATE TABLE t2 (c0 int);
2595
INSERT INTO t1 VALUES(@@connect_timeout);
2596
INSERT INTO t2 VALUES(@@connect_timeout);
2597
SELECT * FROM t1 JOIN t2 ON t1.c0 = t2.c0 WHERE (t1.c0 <=> @@connect_timeout);
2598
c0	c0
2599
X	X
2600
DROP TABLE t1, t2;
2601
End of 4.1 tests
2602
CREATE TABLE t1 ( 
2603
K2C4 varchar(4) collate utf8_bin NOT NULL default '', 
2604
K4N4 varchar(4) collate utf8_bin NOT NULL default '0000', 
2605
F2I4 int NOT NULL default '0' 
2606
) ENGINE=MyISAM;
2607
INSERT INTO t1 VALUES 
2608
('W%RT', '0100',  1), 
2609
('W-RT', '0100', 1), 
2610
('WART', '0100', 1), 
2611
('WART', '0200', 1), 
2612
('WERT', '0100', 2), 
2613
('WORT','0200', 2), 
2614
('WT', '0100', 2), 
2615
('W_RT', '0100', 2), 
2616
('WaRT', '0100', 3), 
2617
('WART', '0300', 3), 
2618
('WRT' , '0400', 3), 
2619
('WURM', '0500', 3), 
2620
('W%T', '0600', 4), 
2621
('WA%T', '0700', 4), 
2622
('WA_T', '0800', 4);
2623
SELECT K2C4, K4N4, F2I4 FROM t1
2624
WHERE  K2C4 = 'WART' AND 
2625
(F2I4 = 2 AND K2C4 = 'WART' OR (F2I4 = 2 OR K4N4 = '0200'));
2626
K2C4	K4N4	F2I4
2627
WART	0200	1
2628
SELECT K2C4, K4N4, F2I4 FROM t1
2629
WHERE  K2C4 = 'WART' AND (K2C4 = 'WART' OR K4N4 = '0200');
2630
K2C4	K4N4	F2I4
2631
WART	0100	1
2632
WART	0200	1
2633
WART	0300	3
2634
DROP TABLE t1;
2635
create table t1 (a int, b int);
2636
create table t2 like t1;
2637
select t1.a from (t1 inner join t2 on t1.a=t2.a) where t2.a=1;
2638
a
2639
select t1.a from ((t1 inner join t2 on t1.a=t2.a)) where t2.a=1;
2640
a
2641
select x.a, y.a, z.a from ( (t1 x inner join t2 y on x.a=y.a) inner join t2 z on y.a=z.a) WHERE x.a=1;
2642
a	a	a
2643
drop table t1,t2;
2644
create table t1 (s1 varchar(5));
2645
insert into t1 values ('Wall');
2646
select min(s1) from t1 group by s1 with rollup;
2647
min(s1)
2648
Wall
2649
Wall
2650
drop table t1;
2651
create table t1 (s1 int) engine=myisam;
2652
insert into t1 values (0);
2653
select avg(distinct s1) from t1 group by s1 with rollup;
2654
avg(distinct s1)
2655
0.0000
2656
0.0000
2657
drop table t1;
2658
create table t1 (s1 int);
2659
insert into t1 values (null),(1);
2660
select distinct avg(s1) as x from t1 group by s1 with rollup;
2661
x
2662
NULL
2663
1.0000
2664
drop table t1;
2665
CREATE TABLE t1 (a int);
2666
CREATE TABLE t2 (a int);
2667
INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
2668
INSERT INTO t2 VALUES (2), (4), (6);
2669
SELECT t1.a FROM t1 STRAIGHT_JOIN t2 ON t1.a=t2.a;
2670
a
2671
2
2672
4
2673
EXPLAIN SELECT t1.a FROM t1 STRAIGHT_JOIN t2 ON t1.a=t2.a;
2674
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2675
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	5	
2676
1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	3	Using where; Using join buffer
2677
EXPLAIN SELECT t1.a FROM t1 INNER JOIN t2 ON t1.a=t2.a;
2678
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2679
1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	3	
2680
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	5	Using where; Using join buffer
2681
DROP TABLE t1,t2;
2682
select x'10' + 0, X'10' + 0, b'10' + 0, B'10' + 0;
2683
x'10' + 0	X'10' + 0	b'10' + 0	B'10' + 0
2684
16	16	2	2
2685
create table t1 (f1 varchar(6) default NULL, f2 int primary key not null);
2686
create table t2 (f3 varchar(5) not null, f4 varchar(5) not null, UNIQUE KEY UKEY (f3,f4));
2687
insert into t1 values (" 2", 2);
2688
insert into t2 values (" 2", " one "),(" 2", " two ");
2689
select * from t1 left join t2 on f1 = f3;
2690
f1	f2	f3	f4
2691
 2	2	 2	 one 
2692
 2	2	 2	 two 
2693
drop table t1,t2;
2694
create table t1 (pk int primary key, b int);
2695
create table t2 (pk int primary key, c int);
2696
select pk from t1 inner join t2 using (pk);
2697
pk
2698
drop table t1,t2;
2699
create table t1 (a int, t1_val int);
2700
create table t2 (b int, t2_val int);
2701
create table t3 (a int, b int);
2702
insert into t1 values (1,1),(2,2);
2703
insert into t2 values (1,1),(2,2),(3,3);
2704
insert into t3 values (1,1),(2,1),(3,1),(4,1);
2705
select * from t1 natural join t2 natural join t3;
2706
a	b	t1_val	t2_val
2707
1	1	1	1
2708
2	1	2	1
2709
select * from t1 natural join t3 natural join t2;
2710
b	a	t1_val	t2_val
2711
1	1	1	1
2712
1	2	2	1
2713
drop table t1, t2, t3;
2714
create table t1 (a char(1));
2715
create table t2 (a char(1));
2716
insert into t1 values ('a'),('b'),('c');
2717
insert into t2 values ('b'),('c'),('d');
2718
select a from t1 natural join t2;
2719
a
2720
b
2721
c
2722
select * from t1 natural join t2 where a = 'b';
2723
a
2724
b
2725
drop table t1, t2;
2726
CREATE TABLE t1 (`id` int);
2727
CREATE TABLE t2 (`id` int);
2728
CREATE TABLE t3 (`id` int);
2729
INSERT INTO t1 VALUES (1),(2),(3);
2730
INSERT INTO t2 VALUES (2);
2731
INSERT INTO t3 VALUES (3);
2732
SELECT t1.id,t3.id FROM t1 JOIN t2 ON (t2.id=t1.id) LEFT JOIN t3 USING (id);
2733
ERROR 23000: Column 'id' in from clause is ambiguous
2734
SELECT t1.id,t3.id FROM t1 JOIN t2 ON (t2.notacolumn=t1.id) LEFT JOIN t3 USING (id);
2735
ERROR 23000: Column 'id' in from clause is ambiguous
2736
SELECT id,t3.id FROM t1 JOIN t2 ON (t2.id=t1.id) LEFT JOIN t3 USING (id);
2737
ERROR 23000: Column 'id' in from clause is ambiguous
2738
SELECT id,t3.id FROM (t1 JOIN t2 ON (t2.id=t1.id)) LEFT JOIN t3 USING (id);
2739
ERROR 23000: Column 'id' in from clause is ambiguous
2740
drop table t1, t2, t3;
2741
create table t1 (a int,b int);
2742
create table t2 (a int,b int);
2743
insert into t1 values (1,10),(2,20),(3,30);
2744
insert into t2 values (1,10);
2745
select * from t1 inner join t2 using (A);
2746
a	b	b
2747
1	10	10
2748
select * from t1 inner join t2 using (a);
2749
a	b	b
2750
1	10	10
2751
drop table t1, t2;
2752
create table t1 (a int, c int);
2753
create table t2 (b int);
2754
create table t3 (b int, a int);
2755
create table t4 (c int);
2756
insert into t1 values (1,1);
2757
insert into t2 values (1);
2758
insert into t3 values (1,1);
2759
insert into t4 values (1);
2760
select * from t1 join t2 join t3 on (t2.b = t3.b and t1.a = t3.a);
2761
a	c	b	b	a
2762
1	1	1	1	1
2763
select * from t1, t2 join t3 on (t2.b = t3.b and t1.a = t3.a);
2764
ERROR 42S22: Unknown column 't1.a' in 'on clause'
2765
select * from t1 join t2 join t3 join t4 on (t1.a = t4.c and t2.b = t4.c);
2766
a	c	b	b	a	c
2767
1	1	1	1	1	1
2768
select * from t1 join t2 join t4 using (c);
2769
c	a	b
2770
1	1	1
2771
drop table t1, t2, t3, t4;
2772
create table t1(x int, y int);
2773
create table t2(x int, y int);
2774
create table t3(x int, primary key(x));
2775
insert into t1 values (1, 1), (2, 1), (3, 1), (4, 3), (5, 6), (6, 6);
2776
insert into t2 values (1, 1), (2, 1), (3, 3), (4, 6), (5, 6);
2777
insert into t3 values (1), (2), (3), (4), (5);
2778
select t1.x, t3.x from t1, t2, t3  where t1.x = t2.x and t3.x >= t1.y and t3.x <= t2.y;
2779
x	x
2780
1	1
2781
2	1
2782
3	1
2783
3	2
2784
3	3
2785
4	3
2786
4	4
2787
4	5
2788
drop table t1,t2,t3;
2789
create table t1 (id int not null default '0');
2790
insert into t1 values (123),(191),(192);
2791
create table t2 (id char(16) not null);
2792
insert into t2 values ('58013'),('58014'),('58015'),('58016');
2793
create table t3 (a_id int not null, b_id char(16));
2794
insert into t3 values (123,null),(123,null),(123,null),(123,null),(123,null),(123,'58013');
2795
select count(*)
2796
from t1 inner join (t3 left join t2 on t2.id = t3.b_id) on t1.id = t3.a_id;
2797
count(*)
2798
6
2799
select count(*)
2800
from t1 inner join (t2 right join t3 on t2.id = t3.b_id) on t1.id = t3.a_id;
2801
count(*)
2802
6
2803
drop table t1,t2,t3;
2804
create table t1 (a int);
2805
create table t2 (b int);
2806
create table t3 (c int);
2807
select * from t1 join t2 join t3 on (t1.a=t3.c);
2808
a	b	c
2809
select * from t1 join t2 left join t3 on (t1.a=t3.c);
2810
a	b	c
2811
select * from t1 join t2 right join t3 on (t1.a=t3.c);
2812
a	b	c
2813
select * from t1 join t2 straight_join t3 on (t1.a=t3.c);
2814
a	b	c
2815
drop table t1, t2 ,t3;
2816
create table t1(f1 int, f2 date);
2817
insert into t1 values(1,'2005-01-01'),(2,'2005-09-01'),(3,'2005-09-30'),
2818
(4,'2005-10-01'),(5,'2005-12-30');
2819
select * from t1 where f2 >= 0            order by f2;
2820
f1	f2
2821
1	2005-01-01
2822
2	2005-09-01
2823
3	2005-09-30
2824
4	2005-10-01
2825
5	2005-12-30
2826
select * from t1 where f2 >= '0000-00-00' order by f2;
2827
f1	f2
2828
1	2005-01-01
2829
2	2005-09-01
2830
3	2005-09-30
2831
4	2005-10-01
2832
5	2005-12-30
2833
select * from t1 where f2 >= '2005-09-31' order by f2;
2834
f1	f2
2835
4	2005-10-01
2836
5	2005-12-30
2837
Warnings:
2838
Warning	1292	Incorrect date value: '2005-09-31' for column 'f2' at row 1
2839
select * from t1 where f2 >= '2005-09-3a' order by f2;
2840
f1	f2
2841
3	2005-09-30
2842
4	2005-10-01
2843
5	2005-12-30
2844
Warnings:
2845
Warning	1292	Incorrect date value: '2005-09-3a' for column 'f2' at row 1
2846
select * from t1 where f2 <= '2005-09-31' order by f2;
2847
f1	f2
2848
1	2005-01-01
2849
2	2005-09-01
2850
3	2005-09-30
2851
Warnings:
2852
Warning	1292	Incorrect date value: '2005-09-31' for column 'f2' at row 1
2853
select * from t1 where f2 <= '2005-09-3a' order by f2;
2854
f1	f2
2855
1	2005-01-01
2856
2	2005-09-01
2857
Warnings:
2858
Warning	1292	Incorrect date value: '2005-09-3a' for column 'f2' at row 1
2859
drop table t1;
2860
CREATE TABLE t1(key_a int4 NOT NULL, optimus varchar(32), PRIMARY KEY(key_a));
2861
CREATE TABLE t2(key_a int4 NOT NULL, prime varchar(32), PRIMARY KEY(key_a));
2862
CREATE table t3(key_a int4 NOT NULL, key_b int4 NOT NULL, foo varchar(32),
2863
PRIMARY KEY(key_a,key_b));
2864
INSERT INTO t1 VALUES (0,'');
2865
INSERT INTO t1 VALUES (1,'i');
2866
INSERT INTO t1 VALUES (2,'j');
2867
INSERT INTO t1 VALUES (3,'k');
2868
INSERT INTO t2 VALUES (1,'r');
2869
INSERT INTO t2 VALUES (2,'s');
2870
INSERT INTO t2 VALUES (3,'t');
2871
INSERT INTO t3 VALUES (1,5,'x');
2872
INSERT INTO t3 VALUES (1,6,'y');
2873
INSERT INTO t3 VALUES (2,5,'xx');
2874
INSERT INTO t3 VALUES (2,6,'yy');
2875
INSERT INTO t3 VALUES (2,7,'zz');
2876
INSERT INTO t3 VALUES (3,5,'xxx');
2877
SELECT t2.key_a,foo 
2878
FROM t1 INNER JOIN t2 ON t1.key_a = t2.key_a
2879
INNER JOIN t3 ON t1.key_a = t3.key_a
2880
WHERE t2.key_a=2 and key_b=5;
2881
key_a	foo
2882
2	xx
2883
EXPLAIN SELECT t2.key_a,foo 
2884
FROM t1 INNER JOIN t2 ON t1.key_a = t2.key_a
2885
INNER JOIN t3 ON t1.key_a = t3.key_a
2886
WHERE t2.key_a=2 and key_b=5;
2887
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2888
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	Using index
2889
1	SIMPLE	t2	const	PRIMARY	PRIMARY	4	const	1	Using index
2890
1	SIMPLE	t3	const	PRIMARY	PRIMARY	8	const,const	1	
2891
SELECT t2.key_a,foo 
2892
FROM t1 INNER JOIN t2 ON t2.key_a = t1.key_a
2893
INNER JOIN t3 ON t1.key_a = t3.key_a
2894
WHERE t2.key_a=2 and key_b=5;
2895
key_a	foo
2896
2	xx
2897
EXPLAIN SELECT t2.key_a,foo 
2898
FROM t1 INNER JOIN t2 ON t2.key_a = t1.key_a
2899
INNER JOIN t3 ON t1.key_a = t3.key_a
2900
WHERE t2.key_a=2 and key_b=5;
2901
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2902
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	Using index
2903
1	SIMPLE	t2	const	PRIMARY	PRIMARY	4	const	1	Using index
2904
1	SIMPLE	t3	const	PRIMARY	PRIMARY	8	const,const	1	
2905
DROP TABLE t1,t2,t3;
2906
create  table t1 (f1 int);
2907
insert into t1 values(1),(2);
2908
create table t2 (f2 int, f3 int, key(f2));
2909
insert into t2 values(1,1),(2,2);
2910
create table t3 (f4 int not null);
2911
insert into t3 values (2),(2),(2);
2912
select f1,(select count(*) from t2,t3 where f2=f1 and f3=f4) as count from t1;
2913
f1	count
2914
1	0
2915
2	3
2916
drop table t1,t2,t3;
2917
create table t1 (f1 int unique);
2918
create table t2 (f2 int unique);
2919
create table t3 (f3 int unique);
2920
insert into t1 values(1),(2);
2921
insert into t2 values(1),(2);
2922
insert into t3 values(1),(NULL);
2923
select * from t3 where f3 is null;
2924
f3
2925
NULL
2926
select t2.f2 from t1 left join t2 on f1=f2 join t3 on f1=f3 where f1=1;
2927
f2
2928
1
2929
drop table t1,t2,t3;
2930
create table t1(f1 char, f2 char not null);
2931
insert into t1 values(null,'a');
2932
create table t2 (f2 char not null);
2933
insert into t2 values('b');
2934
select * from t1 left join t2 on f1=t2.f2 where t1.f2='a';
2935
f1	f2	f2
2936
NULL	a	NULL
2937
drop table t1,t2;
2938
select * from (select * left join t on f1=f2) tt;
2939
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on f1=f2) tt' at line 1
2940
CREATE TABLE t1 (sku int PRIMARY KEY, pr int);
2941
CREATE TABLE t2 (sku int PRIMARY KEY, sppr int, name varchar(255));
2942
INSERT INTO t1 VALUES
2943
(10, 10), (20, 10), (30, 20), (40, 30), (50, 10), (60, 10);
2944
INSERT INTO t2 VALUES 
2945
(10, 10, 'aaa'), (20, 10, 'bbb'), (30, 10, 'ccc'), (40, 20, 'ddd'),
2946
(50, 10, 'eee'), (60, 20, 'fff'), (70, 20, 'ggg'), (80, 30, 'hhh');
2947
SELECT t2.sku, t2.sppr, t2.name, t1.sku, t1.pr
2948
FROM t2, t1 WHERE t2.sku=20 AND (t2.sku=t1.sku OR t2.sppr=t1.sku);
2949
sku	sppr	name	sku	pr
2950
20	10	bbb	10	10
2951
20	10	bbb	20	10
2952
EXPLAIN
2953
SELECT t2.sku, t2.sppr, t2.name, t1.sku, t1.pr
2954
FROM t2, t1 WHERE t2.sku=20 AND (t2.sku=t1.sku OR t2.sppr=t1.sku);
2955
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2956
1	SIMPLE	t2	const	PRIMARY	PRIMARY	4	const	1	
2957
1	SIMPLE	t1	range	PRIMARY	PRIMARY	4	NULL	2	Using where
2958
DROP TABLE t1,t2;
2959
create table t1 (a int);
2960
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
2961
create table t2 (a int, b int, c int, e int, primary key(a,b,c));
2962
insert into t2 select A.a, B.a, C.a, C.a from t1 A, t1 B, t1 C;
2963
analyze table t2;
2964
Table	Op	Msg_type	Msg_text
2965
test.t2	analyze	status	OK
2966
select 'In next EXPLAIN, B.rows must be exactly 10:' Z;
2967
Z
2968
In next EXPLAIN, B.rows must be exactly 10:
2969
drop table t1, t2;
2970
CREATE TABLE t1 (a int PRIMARY KEY, b int, INDEX(b));
2971
INSERT INTO t1 VALUES (1, 3), (9,4), (7,5), (4,5), (6,2),
2972
(3,1), (5,1), (8,9), (2,2), (0,9);
2973
CREATE TABLE t2 (c int, d int, f int, INDEX(c,f));
2974
INSERT INTO t2 VALUES
2975
(1,0,0), (1,0,1), (2,0,0), (2,0,1), (3,0,0), (4,0,1),
2976
(5,0,0), (5,0,1), (6,0,0), (0,0,1), (7,0,0), (7,0,1),
2977
(0,0,0), (0,0,1), (8,0,0), (8,0,1), (9,0,0), (9,0,1);
2978
EXPLAIN
2979
SELECT a, c, d, f FROM t1,t2 WHERE a=c AND b BETWEEN 4 AND 6;
2980
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2981
1	SIMPLE	t1	range	PRIMARY,b	b	5	NULL	1	Using where
2982
1	SIMPLE	t2	ref	c	c	5	test.t1.a	2	
2983
EXPLAIN
2984
SELECT a, c, d, f FROM t1,t2 WHERE a=c AND b BETWEEN 4 AND 6 AND a > 0;
2985
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
2986
1	SIMPLE	t1	range	PRIMARY,b	PRIMARY	4	NULL	1	Using where
2987
1	SIMPLE	t2	ref	c	c	5	test.t1.a	2	
2988
DROP TABLE t1, t2;
2989
create table t1 (
2990
a int    not null auto_increment primary key,
2991
b int             not null,
2992
c int             not null
2993
);
2994
create table t2 (
2995
a int    not null auto_increment primary key,
2996
b int             not null,
2997
c int    not null,
2998
d varchar(50)
2999
);
3000
insert into t1 (b,c) values (0,1), (0,1);
3001
insert into t2 (b,c) values (0,1);
3002
select t1.a, t1.b + 0, t1.c + 0, t2.a, t2.b + 0, t2.c, t2.d
3003
from t1 left outer join t2 on t1.a = t2.c and t2.b <> 1
3004
where t1.b <> 1 order by t1.a;
3005
a	t1.b + 0	t1.c + 0	a	t2.b + 0	c	d
3006
1	0	1	1	0	1	NULL
3007
2	0	1	NULL	NULL	NULL	NULL
3008
drop table t1,t2;
3009
SELECT 0.9888889889 * 1.011111411911;
3010
0.9888889889 * 1.011111411911
3011
0.9998769417899202067879
3012
CREATE TABLE t1 (a int NOT NULL PRIMARY KEY, b int NOT NULL);
3013
INSERT INTO t1 VALUES (1,1), (2,2), (3,3), (4,4);
3014
CREATE TABLE t2 (c int NOT NULL, INDEX idx(c));
3015
INSERT INTO t2 VALUES
3016
(1), (1), (1), (1), (1), (1), (1), (1),
3017
(2), (2), (2), (2),
3018
(3), (3),
3019
(4);
3020
EXPLAIN SELECT b FROM t1, t2 WHERE b=c AND a=1;
3021
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3022
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	
3023
1	SIMPLE	t2	ref	idx	idx	4	const	1	Using index
3024
EXPLAIN SELECT b FROM t1, t2 WHERE b=c AND a=4;
3025
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3026
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	
3027
1	SIMPLE	t2	ref	idx	idx	4	const	1	Using index
3028
DROP TABLE t1, t2;
3029
CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, a int);
3030
INSERT INTO t1 VALUES (1,2), (2,NULL), (3,2);
3031
CREATE TABLE t2 (b int, c INT, INDEX idx1(b));
3032
INSERT INTO t2 VALUES (2,1), (3,2);
3033
CREATE TABLE t3 (d int,  e int, INDEX idx1(d));
3034
INSERT INTO t3 VALUES (2,10), (2,20), (1,30), (2,40), (2,50);
3035
EXPLAIN
3036
SELECT * FROM t1 LEFT JOIN t2 ON t2.b=t1.a INNER JOIN t3 ON t3.d=t1.id
3037
WHERE t1.id=2;
3038
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3039
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	
3040
1	SIMPLE	t2	const	idx1	NULL	NULL	NULL	1	
3041
1	SIMPLE	t3	ref	idx1	idx1	5	const	1	
3042
SELECT * FROM t1 LEFT JOIN t2 ON t2.b=t1.a INNER JOIN t3 ON t3.d=t1.id
3043
WHERE t1.id=2;
3044
id	a	b	c	d	e
3045
2	NULL	NULL	NULL	2	10
3046
2	NULL	NULL	NULL	2	20
3047
2	NULL	NULL	NULL	2	40
3048
2	NULL	NULL	NULL	2	50
3049
DROP TABLE t1,t2,t3;
3050
CREATE TABLE t1 (pk varchar(10) PRIMARY KEY, fk varchar(16));
3051
CREATE TABLE t2 (pk varchar(16) PRIMARY KEY, fk varchar(10));
3052
INSERT INTO t1 VALUES
3053
('d','dddd'), ('i','iii'), ('a','aa'), ('b','bb'), ('g','gg'), 
3054
('e','eee'), ('c','cccc'), ('h','hhh'), ('j','jjj'), ('f','fff');
3055
INSERT INTO t2 VALUES
3056
('jjj', 'j'), ('cc','c'), ('ccc','c'), ('aaa', 'a'), ('jjjj','j'),
3057
('hhh','h'), ('gg','g'), ('fff','f'), ('ee','e'), ('ffff','f'),
3058
('bbb','b'), ('ff','f'), ('cccc','c'), ('dddd','d'), ('jj','j'),
3059
('aaaa','a'), ('bb','b'), ('eeee','e'), ('aa','a'), ('hh','h');
3060
EXPLAIN SELECT t2.* 
3061
FROM t1 JOIN t2 ON t2.fk=t1.pk
3062
WHERE t2.fk < 'c' AND t2.pk=t1.fk;
3063
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3064
1	SIMPLE	t1	range	PRIMARY	PRIMARY	42	NULL	1	Using where
3065
1	SIMPLE	t2	eq_ref	PRIMARY	PRIMARY	66	test.t1.fk	1	Using where
3066
EXPLAIN SELECT t2.* 
3067
FROM t1 JOIN t2 ON t2.fk=t1.pk 
3068
WHERE t2.fk BETWEEN 'a' AND 'b' AND t2.pk=t1.fk;
3069
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3070
1	SIMPLE	t1	range	PRIMARY	PRIMARY	42	NULL	1	Using where
3071
1	SIMPLE	t2	eq_ref	PRIMARY	PRIMARY	66	test.t1.fk	1	Using where
3072
EXPLAIN SELECT t2.* 
3073
FROM t1 JOIN t2 ON t2.fk=t1.pk 
3074
WHERE t2.fk IN ('a','b') AND t2.pk=t1.fk;
3075
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3076
1	SIMPLE	t1	range	PRIMARY	PRIMARY	42	NULL	2	Using where
3077
1	SIMPLE	t2	eq_ref	PRIMARY	PRIMARY	66	test.t1.fk	1	Using where
3078
DROP TABLE t1,t2;
3079
CREATE TABLE t1 (a int, b varchar(20) NOT NULL, PRIMARY KEY(a));
3080
CREATE TABLE t2 (a int, b varchar(20) NOT NULL,
3081
PRIMARY KEY (a), UNIQUE KEY (b));
3082
INSERT INTO t1 VALUES (1,'a'),(2,'b'),(3,'c');
3083
INSERT INTO t2 VALUES (1,'a'),(2,'b'),(3,'c');
3084
EXPLAIN SELECT t1.a FROM t1 LEFT JOIN t2 ON t2.b=t1.b WHERE t1.a=3;
3085
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3086
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	
3087
1	SIMPLE	t2	const	b	b	82	const	1	Using index
3088
DROP TABLE t1,t2;
3089
CREATE TABLE t1(id int PRIMARY KEY, b int, e int);
3090
CREATE TABLE t2(i int, a int, INDEX si(i), INDEX ai(a));
3091
CREATE TABLE t3(a int PRIMARY KEY, c char(4), INDEX ci(c));
3092
INSERT INTO t1 VALUES 
3093
(1,10,19), (2,20,22), (4,41,42), (9,93,95), (7, 77,79),
3094
(6,63,67), (5,55,58), (3,38,39), (8,81,89);
3095
INSERT INTO t2 VALUES
3096
(21,210), (41,410), (82,820), (83,830), (84,840),
3097
(65,650), (51,510), (37,370), (94,940), (76,760),
3098
(22,220), (33,330), (40,400), (95,950), (38,380),
3099
(67,670), (88,880), (57,570), (96,960), (97,970);
3100
INSERT INTO t3 VALUES
3101
(210,'bb'), (950,'ii'), (400,'ab'), (500,'ee'), (220,'gg'),
3102
(440,'gg'), (310,'eg'), (380,'ee'), (840,'bb'), (830,'ff'),
3103
(230,'aa'), (960,'ii'), (410,'aa'), (510,'ee'), (290,'bb'),
3104
(450,'gg'), (320,'dd'), (390,'hh'), (850,'jj'), (860,'ff');
3105
EXPLAIN
3106
SELECT t3.a FROM t1,t2 FORCE INDEX (si),t3
3107
WHERE t1.id = 8 AND t2.i BETWEEN t1.b AND t1.e AND 
3108
t3.a=t2.a AND t3.c IN ('bb','ee');
3109
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3110
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	
3111
1	SIMPLE	t2	range	si	si	5	NULL	1	Using where
3112
1	SIMPLE	t3	eq_ref	PRIMARY,ci	PRIMARY	4	test.t2.a	1	Using where
3113
EXPLAIN
3114
SELECT t3.a FROM t1,t2,t3
3115
WHERE t1.id = 8 AND t2.i BETWEEN t1.b AND t1.e AND
3116
t3.a=t2.a AND t3.c IN ('bb','ee') ;
3117
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3118
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	
3119
1	SIMPLE	t2	range	si,ai	si	5	NULL	1	Using where
3120
1	SIMPLE	t3	eq_ref	PRIMARY,ci	PRIMARY	4	test.t2.a	1	Using where
3121
EXPLAIN 
3122
SELECT t3.a FROM t1,t2 FORCE INDEX (si),t3
3123
WHERE t1.id = 8 AND (t2.i=t1.b OR t2.i=t1.e) AND t3.a=t2.a AND
3124
t3.c IN ('bb','ee');
3125
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3126
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	
3127
1	SIMPLE	t2	range	si	si	5	NULL	2	Using where
3128
1	SIMPLE	t3	eq_ref	PRIMARY,ci	PRIMARY	4	test.t2.a	1	Using where
3129
EXPLAIN 
3130
SELECT t3.a FROM t1,t2,t3
3131
WHERE t1.id = 8 AND (t2.i=t1.b OR t2.i=t1.e) AND t3.a=t2.a AND
3132
t3.c IN ('bb','ee');
3133
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3134
1	SIMPLE	t1	const	PRIMARY	PRIMARY	4	const	1	
3135
1	SIMPLE	t2	range	si,ai	si	5	NULL	2	Using where
3136
1	SIMPLE	t3	eq_ref	PRIMARY,ci	PRIMARY	4	test.t2.a	1	Using where
3137
DROP TABLE t1,t2,t3;
3138
CREATE TABLE t1 ( f1 int primary key, f2 int, f3 int, f4 int, f5 int, f6 int, checked_out int);
3139
CREATE TABLE t2 ( f11 int PRIMARY KEY );
3140
INSERT INTO t1 VALUES (1,1,1,0,0,0,0),(2,1,1,3,8,1,0),(3,1,1,4,12,1,0);
3141
INSERT INTO t2 VALUES (62);
3142
SELECT * FROM t1 LEFT JOIN t2 ON f11 = t1.checked_out GROUP BY f1 ORDER BY f2, f3, f4, f5 LIMIT 0, 1;
3143
f1	f2	f3	f4	f5	f6	checked_out	f11
3144
1	1	1	0	0	0	0	NULL
3145
DROP TABLE t1, t2;
3146
DROP TABLE IF EXISTS t1;
3147
CREATE TABLE t1(a int);
3148
INSERT into t1 values (1), (2), (3);
3149
SELECT * FROM t1 LIMIT 2, -1;
3150
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 1
3151
DROP TABLE t1;
3152
CREATE TABLE t1 (
3153
ID_with_null int NULL,
3154
ID_better int NOT NULL,
3155
INDEX idx1 (ID_with_null),
3156
INDEX idx2 (ID_better)
3157
);
3158
INSERT INTO t1 VALUES (1,1), (2,1), (null,3), (null,3), (null,3), (null,3);
3159
INSERT INTO t1 SELECT * FROM t1 WHERE ID_with_null IS NULL;
3160
INSERT INTO t1 SELECT * FROM t1 WHERE ID_with_null IS NULL;
3161
INSERT INTO t1 SELECT * FROM t1 WHERE ID_with_null IS NULL;
3162
INSERT INTO t1 SELECT * FROM t1 WHERE ID_with_null IS NULL;
3163
INSERT INTO t1 SELECT * FROM t1 WHERE ID_with_null IS NULL;
3164
SELECT COUNT(*) FROM t1 WHERE ID_with_null IS NULL;
3165
COUNT(*)
3166
128
3167
SELECT COUNT(*) FROM t1 WHERE ID_better=1;
3168
COUNT(*)
3169
2
3170
EXPLAIN SELECT * FROM t1 WHERE ID_better=1 AND ID_with_null IS NULL;
3171
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3172
1	SIMPLE	t1	ref	idx1,idx2	idx1	5	const	1	Using where
3173
DROP INDEX idx1 ON t1;
3174
CREATE UNIQUE INDEX idx1 ON t1(ID_with_null);
3175
EXPLAIN SELECT * FROM t1 WHERE ID_better=1 AND ID_with_null IS NULL;
3176
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3177
1	SIMPLE	t1	ref	idx1,idx2	idx2	4	const	50	Using where
3178
DROP TABLE t1;
3179
CREATE TABLE t1 (
3180
ID1_with_null int NULL,
3181
ID2_with_null int NULL,
3182
ID_better int NOT NULL,
3183
INDEX idx1 (ID1_with_null, ID2_with_null),
3184
INDEX idx2 (ID_better)
3185
);
3186
INSERT INTO t1 VALUES (1,1,1), (2,2,1), (3,null,3), (null,3,3), (null,null,3),
3187
(3,null,3), (null,3,3), (null,null,3), (3,null,3), (null,3,3), (null,null,3);
3188
INSERT INTO t1 SELECT * FROM t1 WHERE ID1_with_null IS NULL;
3189
INSERT INTO t1 SELECT * FROM t1 WHERE ID2_with_null IS NULL;
3190
INSERT INTO t1 SELECT * FROM t1 WHERE ID1_with_null IS NULL;
3191
INSERT INTO t1 SELECT * FROM t1 WHERE ID2_with_null IS NULL;
3192
INSERT INTO t1 SELECT * FROM t1 WHERE ID1_with_null IS NULL;
3193
INSERT INTO t1 SELECT * FROM t1 WHERE ID2_with_null IS NULL;
3194
SELECT COUNT(*) FROM t1 WHERE ID1_with_null IS NULL AND ID2_with_null=3;
3195
COUNT(*)
3196
24
3197
SELECT COUNT(*) FROM t1 WHERE ID1_with_null=3 AND ID2_with_null IS NULL;
3198
COUNT(*)
3199
24
3200
SELECT COUNT(*) FROM t1 WHERE ID1_with_null IS NULL AND ID2_with_null IS NULL;
3201
COUNT(*)
3202
192
3203
SELECT COUNT(*) FROM t1 WHERE ID_better=1;
3204
COUNT(*)
3205
2
3206
EXPLAIN SELECT * FROM t1
3207
WHERE ID_better=1 AND ID1_with_null IS NULL AND ID2_with_null=3 ;
3208
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3209
1	SIMPLE	t1	ref	idx1,idx2	idx1	10	const,const	#	Using where
3210
EXPLAIN SELECT * FROM t1
3211
WHERE ID_better=1 AND ID1_with_null=3 AND ID2_with_null=3 IS NULL ;
3212
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3213
1	SIMPLE	t1	ref	idx1,idx2	idx1	5	const	#	Using where
3214
EXPLAIN SELECT * FROM t1
3215
WHERE ID_better=1 AND ID1_with_null IS NULL AND ID2_with_null IS NULL;
3216
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3217
1	SIMPLE	t1	ref	idx1,idx2	idx1	10	const,const	#	Using where
3218
DROP INDEX idx1 ON t1;
3219
CREATE UNIQUE INDEX idx1 ON t1(ID1_with_null,ID2_with_null);
3220
EXPLAIN SELECT * FROM t1
3221
WHERE ID_better=1 AND ID1_with_null IS NULL AND ID2_with_null=3 ;
3222
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3223
1	SIMPLE	t1	ref	idx1,idx2	idx2	4	const	50	Using where
3224
EXPLAIN SELECT * FROM t1
3225
WHERE ID_better=1 AND ID1_with_null=3 AND ID2_with_null IS NULL ;
3226
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3227
1	SIMPLE	t1	ref	idx1,idx2	idx2	4	const	50	Using where
3228
EXPLAIN SELECT * FROM t1
3229
WHERE ID_better=1 AND ID1_with_null IS NULL AND ID2_with_null IS NULL;
3230
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3231
1	SIMPLE	t1	ref	idx1,idx2	idx2	4	const	50	Using where
3232
EXPLAIN SELECT * FROM t1
3233
WHERE ID_better=1 AND ID1_with_null IS NULL AND 
3234
(ID2_with_null=1 OR ID2_with_null=2);
3235
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3236
1	SIMPLE	t1	ref	idx1,idx2	idx1	5	const	11	Using where
3237
DROP TABLE t1;
3238
CREATE TABLE t1 (a INT, ts TIMESTAMP, KEY ts(ts));
3239
INSERT INTO t1 VALUES (30,"2006-01-03 23:00:00"), (31,"2006-01-03 23:00:00");
3240
ANALYZE TABLE t1;
3241
Table	Op	Msg_type	Msg_text
3242
test.t1	analyze	status	OK
3243
CREATE TABLE t2 (a INT, dt1 DATETIME, dt2 DATETIME, PRIMARY KEY (a));
3244
INSERT INTO t2 VALUES (30, "2006-01-01 00:00:00", "2999-12-31 00:00:00");
3245
INSERT INTO t2 SELECT a+1,dt1,dt2 FROM t2;
3246
ANALYZE TABLE t2;
3247
Table	Op	Msg_type	Msg_text
3248
test.t2	analyze	status	OK
3249
EXPLAIN
3250
SELECT * FROM t1 LEFT JOIN t2 ON (t1.a=t2.a) WHERE t1.a=30
3251
AND t1.ts BETWEEN t2.dt1 AND t2.dt2
3252
AND t1.ts BETWEEN "2006-01-01" AND "2006-12-31";
3253
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3254
1	SIMPLE	t2	const	PRIMARY	PRIMARY	4	const	1	
3255
1	SIMPLE	t1	range	ts	ts	4	NULL	2	Using where
3256
Warnings:
3257
Warning	1292	Incorrect datetime value: '2999-12-31 00:00:00' for column 'ts' at row 1
3258
SELECT * FROM t1 LEFT JOIN t2 ON (t1.a=t2.a) WHERE t1.a=30
3259
AND t1.ts BETWEEN t2.dt1 AND t2.dt2
3260
AND t1.ts BETWEEN "2006-01-01" AND "2006-12-31";
3261
a	ts	a	dt1	dt2
3262
30	2006-01-03 23:00:00	30	2006-01-01 00:00:00	2999-12-31 00:00:00
3263
Warnings:
3264
Warning	1292	Incorrect datetime value: '2999-12-31 00:00:00' for column 'ts' at row 1
3265
DROP TABLE t1,t2;
3266
create table t1 (a bigint);
3267
insert into t1 values
3268
(if(1, 92233720368547758, 1)),
3269
(case when 1 then 92233720368547758 else 1 end),
3270
(coalesce(92233720368547758, 1));
3271
select * from t1;
3272
a
3273
92233720368547758
3274
92233720368547758
3275
92233720368547758
3276
drop table t1;
3277
create table t1 select
3278
if(1, 9223372036854775808, 1) i,
3279
case when 1 then 9223372036854775808 else 1 end c,
3280
coalesce(9223372036854775808, 1) co;
3281
show create table t1;
3282
Table	Create Table
3283
t1	CREATE TABLE `t1` (
3284
  `i` decimal(19,0) NOT NULL,
3285
  `c` decimal(19,0) NOT NULL,
3286
  `co` decimal(19,0) NOT NULL
3287
) ENGINE=PBXT
3288
drop table t1;
3289
select 
3290
if(1, 1111111111111111111, 1) i,
3291
case when 1 then 1111111111111111111 else 1 end c,
3292
coalesce(1111111111111111111, 1) co;
3293
i	c	co
3294
1111111111111111111	1111111111111111111	1111111111111111111
3295
CREATE TABLE t1 (name varchar(255));
3296
CREATE TABLE t2 (name varchar(255), n int, KEY (name(3)));
3297
INSERT INTO t1 VALUES ('ccc'), ('bb'), ('cc '), ('aa  '), ('aa');
3298
INSERT INTO t2 VALUES ('bb',1), ('aa',2), ('cc   ',3);
3299
INSERT INTO t2 VALUES (concat('cc ', 0x06), 4);
3300
INSERT INTO t2 VALUES ('cc',5), ('bb ',6), ('cc ',7);
3301
SELECT * FROM t2;
3302
name	n
3303
bb	1
3304
aa	2
3305
cc   	3
3306
cc 	4
3307
cc	5
3308
bb 	6
3309
cc 	7
3310
SELECT * FROM t2 ORDER BY name;
3311
name	n
3312
aa	2
3313
bb	1
3314
bb 	6
3315
cc 	4
3316
cc   	3
3317
cc	5
3318
cc 	7
3319
SELECT name, LENGTH(name), n FROM t2 ORDER BY name;
3320
name	LENGTH(name)	n
3321
aa	2	2
3322
bb	2	1
3323
bb 	3	6
3324
cc 	4	4
3325
cc   	5	3
3326
cc	2	5
3327
cc 	3	7
3328
EXPLAIN SELECT name, LENGTH(name), n FROM t2 WHERE name='cc ';
3329
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3330
1	SIMPLE	t2	ref	name	name	15	const	1	Using where
3331
SELECT name, LENGTH(name), n FROM t2 WHERE name='cc ';
3332
name	LENGTH(name)	n
3333
cc   	5	3
3334
cc	2	5
3335
cc 	3	7
3336
EXPLAIN SELECT name , LENGTH(name), n FROM t2 WHERE name LIKE 'cc%';
3337
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3338
1	SIMPLE	t2	range	name	name	15	NULL	1	Using where
3339
SELECT name , LENGTH(name), n FROM t2 WHERE name LIKE 'cc%';
3340
name	LENGTH(name)	n
3341
cc   	5	3
3342
cc 	4	4
3343
cc	2	5
3344
cc 	3	7
3345
EXPLAIN SELECT name , LENGTH(name), n FROM t2 WHERE name LIKE 'cc%' ORDER BY name;
3346
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3347
1	SIMPLE	t2	range	name	name	15	NULL	1	Using where; Using filesort
3348
SELECT name , LENGTH(name), n FROM t2 WHERE name LIKE 'cc%' ORDER BY name;
3349
name	LENGTH(name)	n
3350
cc 	4	4
3351
cc   	5	3
3352
cc	2	5
3353
cc 	3	7
3354
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t1.name=t2.name;
3355
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3356
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	5	
3357
1	SIMPLE	t2	ref	name	name	15	test.t1.name	2	
3358
SELECT * FROM t1 LEFT JOIN t2 ON t1.name=t2.name;
3359
name	name	n
3360
ccc	NULL	NULL
3361
bb	bb	1
3362
bb	bb 	6
3363
cc 	cc   	3
3364
cc 	cc	5
3365
cc 	cc 	7
3366
aa  	aa	2
3367
aa	aa	2
3368
DROP TABLE t1,t2;
3369
CREATE TABLE t1 (name text);
3370
CREATE TABLE t2 (name text, n int, KEY (name(3)));
3371
INSERT INTO t1 VALUES ('ccc'), ('bb'), ('cc '), ('aa  '), ('aa');
3372
INSERT INTO t2 VALUES ('bb',1), ('aa',2), ('cc   ',3);
3373
INSERT INTO t2 VALUES (concat('cc ', 0x06), 4);
3374
INSERT INTO t2 VALUES ('cc',5), ('bb ',6), ('cc ',7);
3375
SELECT * FROM t2;
3376
name	n
3377
bb	1
3378
aa	2
3379
cc   	3
3380
cc 	4
3381
cc	5
3382
bb 	6
3383
cc 	7
3384
SELECT * FROM t2 ORDER BY name;
3385
name	n
3386
aa	2
3387
bb	1
3388
bb 	6
3389
cc 	4
3390
cc   	3
3391
cc	5
3392
cc 	7
3393
SELECT name, LENGTH(name), n FROM t2 ORDER BY name;
3394
name	LENGTH(name)	n
3395
aa	2	2
3396
bb	2	1
3397
bb 	3	6
3398
cc 	4	4
3399
cc   	5	3
3400
cc	2	5
3401
cc 	3	7
3402
EXPLAIN SELECT name, LENGTH(name), n FROM t2 WHERE name='cc ';
3403
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3404
1	SIMPLE	t2	ref	name	name	15	const	1	Using where
3405
SELECT name, LENGTH(name), n FROM t2 WHERE name='cc ';
3406
name	LENGTH(name)	n
3407
cc   	5	3
3408
cc	2	5
3409
cc 	3	7
3410
EXPLAIN SELECT name , LENGTH(name), n FROM t2 WHERE name LIKE 'cc%';
3411
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3412
1	SIMPLE	t2	range	name	name	15	NULL	1	Using where
3413
SELECT name , LENGTH(name), n FROM t2 WHERE name LIKE 'cc%';
3414
name	LENGTH(name)	n
3415
cc   	5	3
3416
cc 	4	4
3417
cc	2	5
3418
cc 	3	7
3419
EXPLAIN SELECT name , LENGTH(name), n FROM t2 WHERE name LIKE 'cc%' ORDER BY name;
3420
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3421
1	SIMPLE	t2	range	name	name	15	NULL	1	Using where; Using filesort
3422
SELECT name , LENGTH(name), n FROM t2 WHERE name LIKE 'cc%' ORDER BY name;
3423
name	LENGTH(name)	n
3424
cc 	4	4
3425
cc   	5	3
3426
cc	2	5
3427
cc 	3	7
3428
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t1.name=t2.name;
3429
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3430
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	5	
3431
1	SIMPLE	t2	ref	name	name	15	test.t1.name	2	
3432
SELECT * FROM t1 LEFT JOIN t2 ON t1.name=t2.name;
3433
name	name	n
3434
ccc	NULL	NULL
3435
bb	bb	1
3436
bb	bb 	6
3437
cc 	cc   	3
3438
cc 	cc	5
3439
cc 	cc 	7
3440
aa  	aa	2
3441
aa	aa	2
3442
DROP TABLE t1,t2;
3443
CREATE TABLE t1 (
3444
access_id int NOT NULL default '0',
3445
name varchar(20) default NULL,
3446
rank int NOT NULL default '0',
3447
KEY idx (access_id)
3448
);
3449
CREATE TABLE t2 (
3450
faq_group_id int NOT NULL default '0',
3451
faq_id int NOT NULL default '0',
3452
access_id int default NULL,
3453
UNIQUE KEY idx1 (faq_id),
3454
KEY idx2 (faq_group_id,faq_id)
3455
);
3456
INSERT INTO t1 VALUES 
3457
(1,'Everyone',2),(2,'Help',3),(3,'Technical Support',1),(4,'Chat User',4);
3458
INSERT INTO t2 VALUES
3459
(261,265,1),(490,494,1);
3460
SELECT t2.faq_id 
3461
FROM t1 INNER JOIN t2 IGNORE INDEX (idx1)
3462
ON (t1.access_id = t2.access_id)
3463
LEFT JOIN t2 t
3464
ON (t.faq_group_id = t2.faq_group_id AND
3465
find_in_set(t.access_id, '1,4') < find_in_set(t2.access_id, '1,4'))
3466
WHERE
3467
t2.access_id IN (1,4) AND t.access_id IS NULL AND t2.faq_id in (265);
3468
faq_id
3469
265
3470
SELECT t2.faq_id 
3471
FROM t1 INNER JOIN t2
3472
ON (t1.access_id = t2.access_id)
3473
LEFT JOIN t2 t
3474
ON (t.faq_group_id = t2.faq_group_id AND
3475
find_in_set(t.access_id, '1,4') < find_in_set(t2.access_id, '1,4'))
3476
WHERE
3477
t2.access_id IN (1,4) AND t.access_id IS NULL AND t2.faq_id in (265);
3478
faq_id
3479
265
3480
DROP TABLE t1,t2;
3481
CREATE TABLE t1 (a INT, b INT, KEY inx (b,a));
3482
INSERT INTO t1 VALUES (1,1), (1,2), (1,3), (1,4), (1,5), (1, 6), (1,7);
3483
EXPLAIN SELECT COUNT(*) FROM t1 f1 INNER JOIN t1 f2
3484
ON ( f1.b=f2.b AND f1.a<f2.a ) 
3485
WHERE 1 AND f1.b NOT IN (100,2232,3343,51111);
3486
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3487
1	SIMPLE	f1	range	inx	inx	5	NULL	5	Using where; Using index
3488
1	SIMPLE	f2	ref	inx	inx	5	test.f1.b	1	Using where; Using index
3489
DROP TABLE t1;
3490
CREATE TABLE t1 (c1 INT, c2 INT);
3491
INSERT INTO t1 VALUES (1,11), (2,22), (2,22);
3492
EXPLAIN SELECT c1 FROM t1 WHERE (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT COUNT(c2)))))))))))))))))))))))))))))))) > 0;
3493
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
3494
1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	3	Using where
3495
31	DEPENDENT SUBQUERY	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
3496
32	DEPENDENT SUBQUERY	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
3497
EXPLAIN SELECT c1 FROM t1 WHERE (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT COUNT(c2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) > 0;
3498
ERROR HY000: Too high level of nesting for select
3499
DROP TABLE t1;
3500
CREATE TABLE t1 (
3501
c1 int NOT NULL AUTO_INCREMENT,
3502
c2 varchar(1000) DEFAULT NULL,
3503
c3 bigint DEFAULT NULL,
3504
c4 bigint DEFAULT NULL,
3505
PRIMARY KEY (c1)
3506
);
3507
EXPLAIN EXTENDED 
3508
SELECT  join_2.c1  
3509
FROM 
3510
t1 AS join_0, 
3511
t1 AS join_1, 
3512
t1 AS join_2, 
3513
t1 AS join_3, 
3514
t1 AS join_4, 
3515
t1 AS join_5, 
3516
t1 AS join_6, 
3517
t1 AS join_7
3518
WHERE 
3519
join_0.c1=join_1.c1  AND 
3520
join_1.c1=join_2.c1  AND 
3521
join_2.c1=join_3.c1  AND 
3522
join_3.c1=join_4.c1  AND 
3523
join_4.c1=join_5.c1  AND 
3524
join_5.c1=join_6.c1  AND 
3525
join_6.c1=join_7.c1 
3526
OR 
3527
join_0.c2 < '?'  AND 
3528
join_1.c2 < '?'  AND
3529
join_2.c2 > '?'  AND
3530
join_2.c2 < '!'  AND
3531
join_3.c2 > '?'  AND 
3532
join_4.c2 = '?'  AND 
3533
join_5.c2 <> '?' AND
3534
join_6.c2 <> '?' AND 
3535
join_7.c2 >= '?' AND
3536
join_0.c1=join_1.c1  AND 
3537
join_1.c1=join_2.c1  AND 
3538
join_2.c1=join_3.c1  AND
3539
join_3.c1=join_4.c1  AND 
3540
join_4.c1=join_5.c1  AND 
3541
join_5.c1=join_6.c1  AND 
3542
join_6.c1=join_7.c1
3543
GROUP BY 
3544
join_3.c1,
3545
join_2.c1,
3546
join_7.c1,
3547
join_1.c1,
3548
join_0.c1;
3549
id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
3550
1	SIMPLE	join_0	ALL	PRIMARY	NULL	NULL	NULL	0	0.00	Using temporary; Using filesort
3551
1	SIMPLE	join_1	eq_ref	PRIMARY	PRIMARY	4	test.join_0.c1	1	100.00	
3552
1	SIMPLE	join_2	eq_ref	PRIMARY	PRIMARY	4	test.join_1.c1	1	100.00	Using where
3553
1	SIMPLE	join_3	eq_ref	PRIMARY	PRIMARY	4	test.join_2.c1	1	100.00	Using where
3554
1	SIMPLE	join_4	eq_ref	PRIMARY	PRIMARY	4	test.join_3.c1	1	100.00	Using where
3555
1	SIMPLE	join_5	eq_ref	PRIMARY	PRIMARY	4	test.join_4.c1	1	100.00	Using where
3556
1	SIMPLE	join_6	eq_ref	PRIMARY	PRIMARY	4	test.join_5.c1	1	100.00	Using where
3557
1	SIMPLE	join_7	eq_ref	PRIMARY	PRIMARY	4	test.join_5.c1	1	100.00	Using where
3558
Warnings:
3559
Note	1003	select `test`.`join_2`.`c1` AS `c1` from `test`.`t1` `join_0` join `test`.`t1` `join_1` join `test`.`t1` `join_2` join `test`.`t1` `join_3` join `test`.`t1` `join_4` join `test`.`t1` `join_5` join `test`.`t1` `join_6` join `test`.`t1` `join_7` where (((`test`.`join_1`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_2`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_3`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_4`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_5`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_6`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_7`.`c1` = `test`.`join_0`.`c1`)) or ((`test`.`join_1`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_2`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_3`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_4`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_5`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_6`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_7`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_0`.`c2` < '?') and (`test`.`join_1`.`c2` < '?') and (`test`.`join_2`.`c2` > '?') and (`test`.`join_2`.`c2` < '!') and (`test`.`join_3`.`c2` > '?') and (`test`.`join_4`.`c2` = '?') and (`test`.`join_5`.`c2` <> '?') and (`test`.`join_6`.`c2` <> '?') and (`test`.`join_7`.`c2` >= '?'))) group by `test`.`join_3`.`c1`,`test`.`join_2`.`c1`,`test`.`join_1`.`c1`,`test`.`join_0`.`c1`
3560
SHOW WARNINGS;
3561
Level	Code	Message
3562
Note	1003	select `test`.`join_2`.`c1` AS `c1` from `test`.`t1` `join_0` join `test`.`t1` `join_1` join `test`.`t1` `join_2` join `test`.`t1` `join_3` join `test`.`t1` `join_4` join `test`.`t1` `join_5` join `test`.`t1` `join_6` join `test`.`t1` `join_7` where (((`test`.`join_1`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_2`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_3`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_4`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_5`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_6`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_7`.`c1` = `test`.`join_0`.`c1`)) or ((`test`.`join_1`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_2`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_3`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_4`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_5`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_6`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_7`.`c1` = `test`.`join_0`.`c1`) and (`test`.`join_0`.`c2` < '?') and (`test`.`join_1`.`c2` < '?') and (`test`.`join_2`.`c2` > '?') and (`test`.`join_2`.`c2` < '!') and (`test`.`join_3`.`c2` > '?') and (`test`.`join_4`.`c2` = '?') and (`test`.`join_5`.`c2` <> '?') and (`test`.`join_6`.`c2` <> '?') and (`test`.`join_7`.`c2` >= '?'))) group by `test`.`join_3`.`c1`,`test`.`join_2`.`c1`,`test`.`join_1`.`c1`,`test`.`join_0`.`c1`
3563
DROP TABLE t1;
3564
SELECT 1 AS ` `;
3565
3566
1
3567
Warnings:
3568
Warning	1474	Name ' ' has become ''
3569
SELECT 1 AS `  `;
3570
3571
1
3572
Warnings:
3573
Warning	1474	Name '  ' has become ''
3574
SELECT 1 AS ` x`;
3575
x
3576
1
3577
Warnings:
3578
Warning	1466	Leading spaces are removed from name ' x'
3579
CREATE TABLE t1 (c11 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
3580
CREATE TABLE t2 (c21 INT NOT NULL, 
3581
c22 INT DEFAULT NULL, 
3582
KEY(c21, c22));
3583
CREATE TABLE t3 (c31 INT NOT NULL DEFAULT 0, 
3584
c32 INT DEFAULT NULL, 
3585
c33 INT NOT NULL, 
3586
c34 INT DEFAULT 0,
3587
KEY (c33, c34, c32));
3588
INSERT INTO t1 values (),(),(),(),();
3589
INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a, t1 b;
3590
INSERT INTO t3 VALUES (1, 1, 1, 0), 
3591
(2, 2, 0, 0), 
3592
(3, 3, 1, 0), 
3593
(4, 4, 0, 0), 
3594
(5, 5, 1, 0);
3595
SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND 
3596
t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND 
3597
t3.c33 = 1 AND t2.c22 in (1, 3) 
3598
ORDER BY c32;
3599
c32
3600
1
3601
1
3602
3
3603
3
3604
5
3605
5
3606
SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND 
3607
t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND 
3608
t3.c33 = 1 AND t2.c22 in (1, 3) 
3609
ORDER BY c32 DESC;
3610
c32
3611
5
3612
5
3613
3
3614
3
3615
1
3616
1
3617
DROP TABLE t1, t2, t3;
3618
select str_to_date('2007-10-09','%Y-%m-%d') between '2007/10/01 00:00:00 GMT'
3619
                                                and '2007/10/20 00:00:00 GMT';
3620
str_to_date('2007-10-09','%Y-%m-%d') between '2007/10/01 00:00:00 GMT'
3621
                                                and '2007/10/20 00:00:00 GMT'
3622
1
3623
Warnings:
3624
Warning	1292	Truncated incorrect datetime value: '2007/10/01 00:00:00 GMT'
3625
Warning	1292	Truncated incorrect datetime value: '2007/10/20 00:00:00 GMT'
3626
select str_to_date('2007-10-09','%Y-%m-%d') > '2007/10/01 00:00:00 GMT-6';
3627
str_to_date('2007-10-09','%Y-%m-%d') > '2007/10/01 00:00:00 GMT-6'
3628
1
3629
Warnings:
3630
Warning	1292	Truncated incorrect date value: '2007/10/01 00:00:00 GMT-6'
3631
select str_to_date('2007-10-09','%Y-%m-%d') <= '2007/10/2000:00:00 GMT-6';
3632
str_to_date('2007-10-09','%Y-%m-%d') <= '2007/10/2000:00:00 GMT-6'
3633
1
3634
Warnings:
3635
Warning	1292	Truncated incorrect date value: '2007/10/2000:00:00 GMT-6'
3636
select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-1 00:00:00 GMT-6';
3637
str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-1 00:00:00 GMT-6'
3638
1
3639
Warnings:
3640
Warning	1292	Truncated incorrect date value: '2007-10-1 00:00:00 GMT-6'
3641
select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 x00:00:00 GMT-6';
3642
str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 x00:00:00 GMT-6'
3643
1
3644
Warnings:
3645
Warning	1292	Truncated incorrect date value: '2007-10-01 x00:00:00 GMT-6'
3646
select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:00:00 GMT-6';
3647
str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:00:00 GMT-6'
3648
1
3649
Warnings:
3650
Warning	1292	Truncated incorrect datetime value: '2007-10-01 00:00:00 GMT-6'
3651
select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:x00:00 GMT-6';
3652
str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 00:x00:00 GMT-6'
3653
1
3654
Warnings:
3655
Warning	1292	Truncated incorrect datetime value: '2007-10-01 00:x00:00 GMT-6'
3656
select str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 x12:34:56 GMT-6';
3657
str_to_date('2007-10-01','%Y-%m-%d %H:%i:%s') = '2007-10-01 x12:34:56 GMT-6'
3658
1
3659
Warnings:
3660
Warning	1292	Truncated incorrect datetime value: '2007-10-01 x12:34:56 GMT-6'
3661
select str_to_date('2007-10-01 12:34:00','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6';
3662
str_to_date('2007-10-01 12:34:00','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6'
3663
1
3664
Warnings:
3665
Warning	1292	Truncated incorrect datetime value: '2007-10-01 12:34x:56 GMT-6'
3666
select str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6';
3667
str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34x:56 GMT-6'
3668
0
3669
Warnings:
3670
Warning	1292	Truncated incorrect datetime value: '2007-10-01 12:34x:56 GMT-6'
3671
select str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34:56';
3672
str_to_date('2007-10-01 12:34:56','%Y-%m-%d %H:%i:%s') = '2007-10-01 12:34:56'
3673
1
3674
select str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 12:00:00';
3675
str_to_date('2007-10-01','%Y-%m-%d') = '2007-10-01 12:00:00'
3676
0
3677
select str_to_date('2007-10-01 12','%Y-%m-%d %H') = '2007-10-01 12:00:00';
3678
str_to_date('2007-10-01 12','%Y-%m-%d %H') = '2007-10-01 12:00:00'
3679
1
3680
select str_to_date('2007-10-01 12:34','%Y-%m-%d %H') = '2007-10-01 12:00:00';
3681
str_to_date('2007-10-01 12:34','%Y-%m-%d %H') = '2007-10-01 12:00:00'
3682
1
3683
Warnings:
3684
Warning	1292	Truncated incorrect datetime value: '2007-10-01 12:34'
3685
select str_to_date('2007-02-30 12:34','%Y-%m-%d %H:%i') = '2007-02-30 12:34';
3686
str_to_date('2007-02-30 12:34','%Y-%m-%d %H:%i') = '2007-02-30 12:34'
3687
0
3688
Warnings:
3689
Warning	1292	Truncated incorrect datetime value: '2007-02-30 12:34'
3690
select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34';
3691
str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '2007-10-00 12:34'
3692
1
3693
select str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01 00:00:00'
3694
                                                and '2007/10/20 00:00:00';
3695
str_to_date('2007-10-00','%Y-%m-%d') between '2007/09/01 00:00:00'
3696
                                                and '2007/10/20 00:00:00'
3697
1
3698
select str_to_date('2007-10-00','%Y-%m-%d') between '' and '2007/10/20';
3699
str_to_date('2007-10-00','%Y-%m-%d') between '' and '2007/10/20'
3700
1
3701
Warnings:
3702
Warning	1292	Truncated incorrect datetime value: ''
3703
select str_to_date('','%Y-%m-%d') between '2007/10/01' and '2007/10/20';
3704
str_to_date('','%Y-%m-%d') between '2007/10/01' and '2007/10/20'
3705
0
3706
select str_to_date('','%Y-%m-%d %H:%i') = '2007-10-01 12:34';
3707
str_to_date('','%Y-%m-%d %H:%i') = '2007-10-01 12:34'
3708
0
3709
select str_to_date(NULL,'%Y-%m-%d %H:%i') = '2007-10-01 12:34';
3710
str_to_date(NULL,'%Y-%m-%d %H:%i') = '2007-10-01 12:34'
3711
NULL
3712
select str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = '';
3713
str_to_date('2007-10-00 12:34','%Y-%m-%d %H:%i') = ''
3714
0
3715
Warnings:
3716
Warning	1292	Truncated incorrect datetime value: ''
3717
select str_to_date('1','%Y-%m-%d') = '1';
3718
str_to_date('1','%Y-%m-%d') = '1'
3719
0
3720
Warnings:
3721
Warning	1292	Truncated incorrect date value: '1'
3722
select str_to_date('1','%Y-%m-%d') = '1';
3723
str_to_date('1','%Y-%m-%d') = '1'
3724
0
3725
Warnings:
3726
Warning	1292	Truncated incorrect date value: '1'
3727
select str_to_date('','%Y-%m-%d') = '';
3728
str_to_date('','%Y-%m-%d') = ''
3729
0
3730
Warnings:
3731
Warning	1292	Truncated incorrect date value: ''
3732
select str_to_date('1000-01-01','%Y-%m-%d') between '0000-00-00' and NULL;
3733
str_to_date('1000-01-01','%Y-%m-%d') between '0000-00-00' and NULL
3734
0
3735
select str_to_date('1000-01-01','%Y-%m-%d') between NULL and '2000-00-00';
3736
str_to_date('1000-01-01','%Y-%m-%d') between NULL and '2000-00-00'
3737
0
3738
select str_to_date('1000-01-01','%Y-%m-%d') between NULL and NULL;
3739
str_to_date('1000-01-01','%Y-%m-%d') between NULL and NULL
3740
0
3741
3742
#
3743
# Bug#30736: Row Size Too Large Error Creating a Table and
3744
# Inserting Data.
3745
#
3746
DROP TABLE IF EXISTS t1;
3747
DROP TABLE IF EXISTS t2;
3748
3749
CREATE TABLE t1(
3750
c1 DECIMAL(10, 2),
3751
c2 FLOAT);
3752
3753
INSERT INTO t1 VALUES (0, 1), (2, 3), (4, 5);
3754
3755
CREATE TABLE t2(
3756
c3 DECIMAL(10, 2))
3757
SELECT
3758
c1 * c2 AS c3
3759
FROM t1;
3760
3761
SELECT * FROM t1;
3762
c1	c2
3763
0.00	1
3764
2.00	3
3765
4.00	5
3766
3767
SELECT * FROM t2;
3768
c3
3769
0.00
3770
6.00
3771
20.00
3772
3773
DROP TABLE t1;
3774
DROP TABLE t2;
3775
3776
CREATE TABLE t1 (c1 BIGINT NOT NULL);
3777
INSERT INTO t1 (c1) VALUES (1);
3778
SELECT * FROM t1 WHERE c1 > NULL + 1;
3779
c1
3780
DROP TABLE t1;
3781
3782
CREATE TABLE t1 (a VARCHAR(10) NOT NULL PRIMARY KEY);
3783
INSERT INTO t1 (a) VALUES ('foo0'), ('bar0'), ('baz0');
3784
SELECT * FROM t1 WHERE a IN (CONCAT('foo', 0), 'bar');
3785
a
3786
foo0
3787
DROP TABLE t1;
3788
CREATE TABLE t1 (a INT, b INT);
3789
CREATE TABLE t2 (a INT, c INT, KEY(a));
3790
INSERT INTO t1 VALUES (1, 1), (2, 2);
3791
INSERT INTO t2 VALUES (1, 1), (1, 2), (1, 3), (1, 4), (1, 5),
3792
(2, 1), (2, 2), (2, 3), (2, 4), (2, 5),
3793
(3, 1), (3, 2), (3, 3), (3, 4), (3, 5),
3794
(4, 1), (4, 2), (4, 3), (4, 4), (4, 5);
3795
FLUSH STATUS;
3796
SELECT DISTINCT b FROM t1 LEFT JOIN t2 USING(a) WHERE c <= 3;
3797
b
3798
1
3799
2
3800
SHOW STATUS LIKE 'Handler_read%';
3801
Variable_name	Value
3802
Handler_read_first	0
3803
Handler_read_key	0
3804
Handler_read_next	0
3805
Handler_read_prev	0
3806
Handler_read_rnd	0
3807
Handler_read_rnd_next	3
3808
DROP TABLE t1, t2;
3809
End of 5.0 tests
3810
create table t1(a INT, KEY (a));
3811
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
3812
SELECT a FROM t1 ORDER BY a LIMIT 2;
3813
a
3814
1
3815
2
3816
SELECT a FROM t1 ORDER BY a LIMIT 2,4294967296;
3817
a
3818
3
3819
4
3820
5
3821
SELECT a FROM t1 ORDER BY a LIMIT 2,4294967297;
3822
a
3823
3
3824
4
3825
5
3826
DROP TABLE t1;