~posulliv/drizzle/optimizer-style-cleanup

« back to all changes in this revision

Viewing changes to tests/r/pbxt/select.result

  • Committer: Padraig O'Sullivan
  • Date: 2010-04-17 01:38:47 UTC
  • mfrom: (1237.9.238 bad-staging)
  • Revision ID: osullivan.padraig@gmail.com-20100417013847-ibjioqsfbmf5yg4g
Merge trunk.

Show diffs side-by-side

added added

removed removed

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