gitlab.com/CoiaPrant/sqlite3@v1.19.1/testdata/tcl/joinB.test (about) 1 set testdir [file dirname $argv0] 2 # 2022-04-19 3 # 4 # The author disclaims copyright to this source code. In place of 5 # a legal notice, here is a blessing: 6 # 7 # May you do good and not evil. 8 # May you find forgiveness for yourself and forgive others. 9 # May you share freely, never taking more than you give. 10 # 11 #*********************************************************************** 12 # 13 # This file implements tests for JOINs. 14 # 15 # The test case output is all generated by PostgreSQL 14. This test module 16 # was created as follows: 17 # 18 # 1. Run a TCL script (included at the bottom of this file) that 19 # generates an input script for "psql" that will run man 20 # diverse tests on joins. 21 # 22 # 2. Run the script from step (1) through psql and collect the 23 # output. 24 # 25 # 3. Make a few minor global search-and-replace operations to convert 26 # the psql output into a form suitable for this test module. 27 # 28 # 4. Add this header, and the script content at the footer. 29 # 30 source $testdir/tester.tcl 31 db nullvalue - 32 db eval { 33 DROP TABLE IF EXISTS t1; 34 DROP TABLE IF EXISTS t2; 35 DROP TABLE IF EXISTS t3; 36 DROP TABLE IF EXISTS t4; 37 DROP TABLE IF EXISTS t5; 38 CREATE TABLE t1(a INT, b INT, c INT); 39 CREATE TABLE t2(a INT, b INT, d INT); 40 CREATE TABLE t3(a INT, b INT, e INT); 41 CREATE TABLE t4(a INT, b INT, f INT); 42 CREATE TABLE t5(a INT, b INT, g INT); 43 INSERT INTO t1 VALUES(11,21,31),(12,22,32),(15,25,35),(17,27,37); 44 INSERT INTO t2 VALUES(12,22,32),(13,23,33),(15,25,35),(18,28,38), 45 (NULL,NULL,36); 46 INSERT INTO t4 VALUES(11,21,31),(13,23,33),(15,25,35),(19,29,39); 47 INSERT INTO t3 SELECT * FROM t1 UNION SELECT * FROM t2 UNION SELECT * FROM t4; 48 INSERT INTO t5 SELECT * FROM t3 WHERE a>=15; 49 } 50 do_execsql_test joinB-1 { 51 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 52 FROM t1 53 INNER JOIN t2 USING(a) 54 INNER JOIN t3 USING(a) 55 INNER JOIN t4 USING(a) 56 INNER JOIN t5 USING(a) 57 ORDER BY 1 NULLS FIRST; 58 } { 59 15 15 15 15 15 15 60 } 61 do_execsql_test joinB-2 { 62 SELECT a, c, d, e, f, g 63 FROM t1 64 INNER JOIN t2 USING(a,b) 65 INNER JOIN t3 USING(a,b) 66 INNER JOIN t4 USING(a,b) 67 INNER JOIN t5 USING(a,b) 68 WHERE a<>13 69 ORDER BY 1 NULLS FIRST; 70 } { 71 15 35 35 35 35 35 72 } 73 do_execsql_test joinB-3 { 74 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 75 FROM t1 76 INNER JOIN t2 USING(a) 77 INNER JOIN t3 USING(a) 78 INNER JOIN t4 USING(a) 79 LEFT JOIN t5 USING(a) 80 ORDER BY 1 NULLS FIRST; 81 } { 82 15 15 15 15 15 15 83 } 84 do_execsql_test joinB-4 { 85 SELECT a, c, d, e, f, g 86 FROM t1 87 INNER JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 88 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 89 WHERE a<=18 90 ORDER BY 1 NULLS FIRST; 91 } { 92 15 35 35 35 35 35 93 } 94 do_execsql_test joinB-5 { 95 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 96 FROM t1 97 INNER JOIN t2 USING(a) 98 INNER JOIN t3 USING(a) 99 INNER JOIN t4 USING(a) 100 RIGHT JOIN t5 USING(a) 101 ORDER BY 1 NULLS FIRST; 102 } { 103 15 15 15 15 15 15 104 17 - - - - 17 105 18 - - - - 18 106 19 - - - - 19 107 } 108 do_execsql_test joinB-6 { 109 SELECT a, b, c, d, e, f, g 110 FROM t1 111 INNER JOIN t2 USING(a,b) 112 INNER JOIN t3 USING(a,b) 113 INNER JOIN t4 USING(a,b) 114 RIGHT JOIN t5 USING(a,b) 115 WHERE d<>33 OR d IS NULL 116 ORDER BY 1 NULLS FIRST; 117 } { 118 15 25 35 35 35 35 35 119 17 27 - - - - 37 120 18 28 - - - - 38 121 19 29 - - - - 39 122 } 123 do_execsql_test joinB-7 { 124 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 125 FROM t1 126 INNER JOIN t2 USING(a) 127 INNER JOIN t3 USING(a) 128 INNER JOIN t4 USING(a) 129 FULL JOIN t5 USING(a) 130 ORDER BY 1 NULLS FIRST; 131 } { 132 15 15 15 15 15 15 133 17 - - - - 17 134 18 - - - - 18 135 19 - - - - 19 136 } 137 do_execsql_test joinB-8 { 138 SELECT b, c, d, e, f, g 139 FROM t1 140 NATURAL INNER JOIN t2 141 NATURAL INNER JOIN t3 142 NATURAL INNER JOIN t4 143 NATURAL FULL JOIN t5 144 WHERE b BETWEEN 12 AND 17 145 ORDER BY 1 NULLS FIRST; 146 } { 147 } 148 do_execsql_test joinB-9 { 149 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 150 FROM t1 151 INNER JOIN t2 USING(a) 152 INNER JOIN t3 USING(a) 153 LEFT JOIN t4 USING(a) 154 INNER JOIN t5 USING(a) 155 ORDER BY 1 NULLS FIRST; 156 } { 157 15 15 15 15 15 15 158 } 159 do_execsql_test joinB-10 { 160 SELECT a, c, d, e, f, g 161 FROM t1 162 INNER JOIN t2 USING(a,b) 163 INNER JOIN t3 USING(a,b) 164 LEFT JOIN t4 USING(a,b) 165 INNER JOIN t5 USING(a,b) 166 WHERE a<>13 167 ORDER BY 1 NULLS FIRST; 168 } { 169 15 35 35 35 35 35 170 } 171 do_execsql_test joinB-11 { 172 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 173 FROM t1 174 INNER JOIN t2 USING(a) 175 INNER JOIN t3 USING(a) 176 LEFT JOIN t4 USING(a) 177 LEFT JOIN t5 USING(a) 178 ORDER BY 1 NULLS FIRST; 179 } { 180 12 12 12 12 - - 181 15 15 15 15 15 15 182 } 183 do_execsql_test joinB-12 { 184 SELECT a, c, d, e, f, g 185 FROM t1 186 INNER JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 187 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 188 WHERE a<=18 189 ORDER BY 1 NULLS FIRST; 190 } { 191 12 32 32 32 - - 192 15 35 35 35 35 35 193 } 194 do_execsql_test joinB-13 { 195 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 196 FROM t1 197 INNER JOIN t2 USING(a) 198 INNER JOIN t3 USING(a) 199 LEFT JOIN t4 USING(a) 200 RIGHT JOIN t5 USING(a) 201 ORDER BY 1 NULLS FIRST; 202 } { 203 15 15 15 15 15 15 204 17 - - - - 17 205 18 - - - - 18 206 19 - - - - 19 207 } 208 do_execsql_test joinB-14 { 209 SELECT a, b, c, d, e, f, g 210 FROM t1 211 INNER JOIN t2 USING(a,b) 212 INNER JOIN t3 USING(a,b) 213 LEFT JOIN t4 USING(a,b) 214 RIGHT JOIN t5 USING(a,b) 215 WHERE d<>33 OR d IS NULL 216 ORDER BY 1 NULLS FIRST; 217 } { 218 15 25 35 35 35 35 35 219 17 27 - - - - 37 220 18 28 - - - - 38 221 19 29 - - - - 39 222 } 223 do_execsql_test joinB-15 { 224 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 225 FROM t1 226 INNER JOIN t2 USING(a) 227 INNER JOIN t3 USING(a) 228 LEFT JOIN t4 USING(a) 229 FULL JOIN t5 USING(a) 230 ORDER BY 1 NULLS FIRST; 231 } { 232 12 12 12 12 - - 233 15 15 15 15 15 15 234 17 - - - - 17 235 18 - - - - 18 236 19 - - - - 19 237 } 238 do_execsql_test joinB-16 { 239 SELECT b, c, d, e, f, g 240 FROM t1 241 NATURAL INNER JOIN t2 242 NATURAL INNER JOIN t3 243 NATURAL LEFT JOIN t4 244 NATURAL FULL JOIN t5 245 WHERE b BETWEEN 12 AND 17 246 ORDER BY 1 NULLS FIRST; 247 } { 248 } 249 do_execsql_test joinB-17 { 250 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 251 FROM t1 252 INNER JOIN t2 USING(a) 253 INNER JOIN t3 USING(a) 254 RIGHT JOIN t4 USING(a) 255 INNER JOIN t5 USING(a) 256 ORDER BY 1 NULLS FIRST; 257 } { 258 15 15 15 15 15 15 259 19 - - - 19 19 260 } 261 do_execsql_test joinB-18 { 262 SELECT a, c, d, e, f, g 263 FROM t1 264 INNER JOIN t2 USING(a,b) 265 INNER JOIN t3 USING(a,b) 266 RIGHT JOIN t4 USING(a,b) 267 INNER JOIN t5 USING(a,b) 268 WHERE a<>13 269 ORDER BY 1 NULLS FIRST; 270 } { 271 15 35 35 35 35 35 272 19 - - - 39 39 273 } 274 do_execsql_test joinB-19 { 275 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 276 FROM t1 277 INNER JOIN t2 USING(a) 278 INNER JOIN t3 USING(a) 279 RIGHT JOIN t4 USING(a) 280 LEFT JOIN t5 USING(a) 281 ORDER BY 1 NULLS FIRST; 282 } { 283 11 - - - 11 - 284 13 - - - 13 - 285 15 15 15 15 15 15 286 19 - - - 19 19 287 } 288 do_execsql_test joinB-20 { 289 SELECT a, c, d, e, f, g 290 FROM t1 291 INNER JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 292 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 293 WHERE a<=18 294 ORDER BY 1 NULLS FIRST; 295 } { 296 11 - - - 31 - 297 13 - - - 33 - 298 15 35 35 35 35 35 299 } 300 do_execsql_test joinB-21 { 301 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 302 FROM t1 303 INNER JOIN t2 USING(a) 304 INNER JOIN t3 USING(a) 305 RIGHT JOIN t4 USING(a) 306 RIGHT JOIN t5 USING(a) 307 ORDER BY 1 NULLS FIRST; 308 } { 309 15 15 15 15 15 15 310 17 - - - - 17 311 18 - - - - 18 312 19 - - - 19 19 313 } 314 do_execsql_test joinB-22 { 315 SELECT a, b, c, d, e, f, g 316 FROM t1 317 INNER JOIN t2 USING(a,b) 318 INNER JOIN t3 USING(a,b) 319 RIGHT JOIN t4 USING(a,b) 320 RIGHT JOIN t5 USING(a,b) 321 WHERE d<>33 OR d IS NULL 322 ORDER BY 1 NULLS FIRST; 323 } { 324 15 25 35 35 35 35 35 325 17 27 - - - - 37 326 18 28 - - - - 38 327 19 29 - - - 39 39 328 } 329 do_execsql_test joinB-23 { 330 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 331 FROM t1 332 INNER JOIN t2 USING(a) 333 INNER JOIN t3 USING(a) 334 RIGHT JOIN t4 USING(a) 335 FULL JOIN t5 USING(a) 336 ORDER BY 1 NULLS FIRST; 337 } { 338 11 - - - 11 - 339 13 - - - 13 - 340 15 15 15 15 15 15 341 17 - - - - 17 342 18 - - - - 18 343 19 - - - 19 19 344 } 345 do_execsql_test joinB-24 { 346 SELECT b, c, d, e, f, g 347 FROM t1 348 NATURAL INNER JOIN t2 349 NATURAL INNER JOIN t3 350 NATURAL RIGHT JOIN t4 351 NATURAL FULL JOIN t5 352 WHERE b BETWEEN 12 AND 17 353 ORDER BY 1 NULLS FIRST; 354 } { 355 } 356 do_execsql_test joinB-25 { 357 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 358 FROM t1 359 INNER JOIN t2 USING(a) 360 INNER JOIN t3 USING(a) 361 FULL JOIN t4 USING(a) 362 INNER JOIN t5 USING(a) 363 ORDER BY 1 NULLS FIRST; 364 } { 365 15 15 15 15 15 15 366 19 - - - 19 19 367 } 368 do_execsql_test joinB-26 { 369 SELECT a, c, d, e, f, g 370 FROM t1 371 INNER JOIN t2 USING(a,b) 372 INNER JOIN t3 USING(a,b) 373 FULL JOIN t4 USING(a,b) 374 INNER JOIN t5 USING(a,b) 375 WHERE a<>13 376 ORDER BY 1 NULLS FIRST; 377 } { 378 15 35 35 35 35 35 379 19 - - - 39 39 380 } 381 do_execsql_test joinB-27 { 382 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 383 FROM t1 384 INNER JOIN t2 USING(a) 385 INNER JOIN t3 USING(a) 386 FULL JOIN t4 USING(a) 387 LEFT JOIN t5 USING(a) 388 ORDER BY 1 NULLS FIRST; 389 } { 390 11 - - - 11 - 391 12 12 12 12 - - 392 13 - - - 13 - 393 15 15 15 15 15 15 394 19 - - - 19 19 395 } 396 do_execsql_test joinB-28 { 397 SELECT a, c, d, e, f, g 398 FROM t1 399 INNER JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 400 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 401 WHERE a<=18 402 ORDER BY 1 NULLS FIRST; 403 } { 404 11 - - - 31 - 405 12 32 32 32 - - 406 13 - - - 33 - 407 15 35 35 35 35 35 408 } 409 do_execsql_test joinB-29 { 410 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 411 FROM t1 412 INNER JOIN t2 USING(a) 413 INNER JOIN t3 USING(a) 414 FULL JOIN t4 USING(a) 415 RIGHT JOIN t5 USING(a) 416 ORDER BY 1 NULLS FIRST; 417 } { 418 15 15 15 15 15 15 419 17 - - - - 17 420 18 - - - - 18 421 19 - - - 19 19 422 } 423 do_execsql_test joinB-30 { 424 SELECT a, b, c, d, e, f, g 425 FROM t1 426 INNER JOIN t2 USING(a,b) 427 INNER JOIN t3 USING(a,b) 428 FULL JOIN t4 USING(a,b) 429 RIGHT JOIN t5 USING(a,b) 430 WHERE d<>33 OR d IS NULL 431 ORDER BY 1 NULLS FIRST; 432 } { 433 15 25 35 35 35 35 35 434 17 27 - - - - 37 435 18 28 - - - - 38 436 19 29 - - - 39 39 437 } 438 do_execsql_test joinB-31 { 439 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 440 FROM t1 441 INNER JOIN t2 USING(a) 442 INNER JOIN t3 USING(a) 443 FULL JOIN t4 USING(a) 444 FULL JOIN t5 USING(a) 445 ORDER BY 1 NULLS FIRST; 446 } { 447 11 - - - 11 - 448 12 12 12 12 - - 449 13 - - - 13 - 450 15 15 15 15 15 15 451 17 - - - - 17 452 18 - - - - 18 453 19 - - - 19 19 454 } 455 do_execsql_test joinB-32 { 456 SELECT b, c, d, e, f, g 457 FROM t1 458 NATURAL INNER JOIN t2 459 NATURAL INNER JOIN t3 460 NATURAL FULL JOIN t4 461 NATURAL FULL JOIN t5 462 WHERE b BETWEEN 12 AND 17 463 ORDER BY 1 NULLS FIRST; 464 } { 465 } 466 do_execsql_test joinB-33 { 467 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 468 FROM t1 469 INNER JOIN t2 USING(a) 470 LEFT JOIN t3 USING(a) 471 INNER JOIN t4 USING(a) 472 INNER JOIN t5 USING(a) 473 ORDER BY 1 NULLS FIRST; 474 } { 475 15 15 15 15 15 15 476 } 477 do_execsql_test joinB-34 { 478 SELECT a, c, d, e, f, g 479 FROM t1 480 INNER JOIN t2 USING(a,b) 481 LEFT JOIN t3 USING(a,b) 482 INNER JOIN t4 USING(a,b) 483 INNER JOIN t5 USING(a,b) 484 WHERE a<>13 485 ORDER BY 1 NULLS FIRST; 486 } { 487 15 35 35 35 35 35 488 } 489 do_execsql_test joinB-35 { 490 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 491 FROM t1 492 INNER JOIN t2 USING(a) 493 LEFT JOIN t3 USING(a) 494 INNER JOIN t4 USING(a) 495 LEFT JOIN t5 USING(a) 496 ORDER BY 1 NULLS FIRST; 497 } { 498 15 15 15 15 15 15 499 } 500 do_execsql_test joinB-36 { 501 SELECT a, c, d, e, f, g 502 FROM t1 503 INNER JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 504 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 505 WHERE a<=18 506 ORDER BY 1 NULLS FIRST; 507 } { 508 15 35 35 35 35 35 509 } 510 do_execsql_test joinB-37 { 511 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 512 FROM t1 513 INNER JOIN t2 USING(a) 514 LEFT JOIN t3 USING(a) 515 INNER JOIN t4 USING(a) 516 RIGHT JOIN t5 USING(a) 517 ORDER BY 1 NULLS FIRST; 518 } { 519 15 15 15 15 15 15 520 17 - - - - 17 521 18 - - - - 18 522 19 - - - - 19 523 } 524 do_execsql_test joinB-38 { 525 SELECT a, b, c, d, e, f, g 526 FROM t1 527 INNER JOIN t2 USING(a,b) 528 LEFT JOIN t3 USING(a,b) 529 INNER JOIN t4 USING(a,b) 530 RIGHT JOIN t5 USING(a,b) 531 WHERE d<>33 OR d IS NULL 532 ORDER BY 1 NULLS FIRST; 533 } { 534 15 25 35 35 35 35 35 535 17 27 - - - - 37 536 18 28 - - - - 38 537 19 29 - - - - 39 538 } 539 do_execsql_test joinB-39 { 540 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 541 FROM t1 542 INNER JOIN t2 USING(a) 543 LEFT JOIN t3 USING(a) 544 INNER JOIN t4 USING(a) 545 FULL JOIN t5 USING(a) 546 ORDER BY 1 NULLS FIRST; 547 } { 548 15 15 15 15 15 15 549 17 - - - - 17 550 18 - - - - 18 551 19 - - - - 19 552 } 553 do_execsql_test joinB-40 { 554 SELECT b, c, d, e, f, g 555 FROM t1 556 NATURAL INNER JOIN t2 557 NATURAL LEFT JOIN t3 558 NATURAL INNER JOIN t4 559 NATURAL FULL JOIN t5 560 WHERE b BETWEEN 12 AND 17 561 ORDER BY 1 NULLS FIRST; 562 } { 563 } 564 do_execsql_test joinB-41 { 565 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 566 FROM t1 567 INNER JOIN t2 USING(a) 568 LEFT JOIN t3 USING(a) 569 LEFT JOIN t4 USING(a) 570 INNER JOIN t5 USING(a) 571 ORDER BY 1 NULLS FIRST; 572 } { 573 15 15 15 15 15 15 574 } 575 do_execsql_test joinB-42 { 576 SELECT a, c, d, e, f, g 577 FROM t1 578 INNER JOIN t2 USING(a,b) 579 LEFT JOIN t3 USING(a,b) 580 LEFT JOIN t4 USING(a,b) 581 INNER JOIN t5 USING(a,b) 582 WHERE a<>13 583 ORDER BY 1 NULLS FIRST; 584 } { 585 15 35 35 35 35 35 586 } 587 do_execsql_test joinB-43 { 588 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 589 FROM t1 590 INNER JOIN t2 USING(a) 591 LEFT JOIN t3 USING(a) 592 LEFT JOIN t4 USING(a) 593 LEFT JOIN t5 USING(a) 594 ORDER BY 1 NULLS FIRST; 595 } { 596 12 12 12 12 - - 597 15 15 15 15 15 15 598 } 599 do_execsql_test joinB-44 { 600 SELECT a, c, d, e, f, g 601 FROM t1 602 INNER JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 603 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 604 WHERE a<=18 605 ORDER BY 1 NULLS FIRST; 606 } { 607 12 32 32 32 - - 608 15 35 35 35 35 35 609 } 610 do_execsql_test joinB-45 { 611 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 612 FROM t1 613 INNER JOIN t2 USING(a) 614 LEFT JOIN t3 USING(a) 615 LEFT JOIN t4 USING(a) 616 RIGHT JOIN t5 USING(a) 617 ORDER BY 1 NULLS FIRST; 618 } { 619 15 15 15 15 15 15 620 17 - - - - 17 621 18 - - - - 18 622 19 - - - - 19 623 } 624 do_execsql_test joinB-46 { 625 SELECT a, b, c, d, e, f, g 626 FROM t1 627 INNER JOIN t2 USING(a,b) 628 LEFT JOIN t3 USING(a,b) 629 LEFT JOIN t4 USING(a,b) 630 RIGHT JOIN t5 USING(a,b) 631 WHERE d<>33 OR d IS NULL 632 ORDER BY 1 NULLS FIRST; 633 } { 634 15 25 35 35 35 35 35 635 17 27 - - - - 37 636 18 28 - - - - 38 637 19 29 - - - - 39 638 } 639 do_execsql_test joinB-47 { 640 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 641 FROM t1 642 INNER JOIN t2 USING(a) 643 LEFT JOIN t3 USING(a) 644 LEFT JOIN t4 USING(a) 645 FULL JOIN t5 USING(a) 646 ORDER BY 1 NULLS FIRST; 647 } { 648 12 12 12 12 - - 649 15 15 15 15 15 15 650 17 - - - - 17 651 18 - - - - 18 652 19 - - - - 19 653 } 654 do_execsql_test joinB-48 { 655 SELECT b, c, d, e, f, g 656 FROM t1 657 NATURAL INNER JOIN t2 658 NATURAL LEFT JOIN t3 659 NATURAL LEFT JOIN t4 660 NATURAL FULL JOIN t5 661 WHERE b BETWEEN 12 AND 17 662 ORDER BY 1 NULLS FIRST; 663 } { 664 } 665 do_execsql_test joinB-49 { 666 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 667 FROM t1 668 INNER JOIN t2 USING(a) 669 LEFT JOIN t3 USING(a) 670 RIGHT JOIN t4 USING(a) 671 INNER JOIN t5 USING(a) 672 ORDER BY 1 NULLS FIRST; 673 } { 674 15 15 15 15 15 15 675 19 - - - 19 19 676 } 677 do_execsql_test joinB-50 { 678 SELECT a, c, d, e, f, g 679 FROM t1 680 INNER JOIN t2 USING(a,b) 681 LEFT JOIN t3 USING(a,b) 682 RIGHT JOIN t4 USING(a,b) 683 INNER JOIN t5 USING(a,b) 684 WHERE a<>13 685 ORDER BY 1 NULLS FIRST; 686 } { 687 15 35 35 35 35 35 688 19 - - - 39 39 689 } 690 do_execsql_test joinB-51 { 691 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 692 FROM t1 693 INNER JOIN t2 USING(a) 694 LEFT JOIN t3 USING(a) 695 RIGHT JOIN t4 USING(a) 696 LEFT JOIN t5 USING(a) 697 ORDER BY 1 NULLS FIRST; 698 } { 699 11 - - - 11 - 700 13 - - - 13 - 701 15 15 15 15 15 15 702 19 - - - 19 19 703 } 704 do_execsql_test joinB-52 { 705 SELECT a, c, d, e, f, g 706 FROM t1 707 INNER JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 708 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 709 WHERE a<=18 710 ORDER BY 1 NULLS FIRST; 711 } { 712 11 - - - 31 - 713 13 - - - 33 - 714 15 35 35 35 35 35 715 } 716 do_execsql_test joinB-53 { 717 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 718 FROM t1 719 INNER JOIN t2 USING(a) 720 LEFT JOIN t3 USING(a) 721 RIGHT JOIN t4 USING(a) 722 RIGHT JOIN t5 USING(a) 723 ORDER BY 1 NULLS FIRST; 724 } { 725 15 15 15 15 15 15 726 17 - - - - 17 727 18 - - - - 18 728 19 - - - 19 19 729 } 730 do_execsql_test joinB-54 { 731 SELECT a, b, c, d, e, f, g 732 FROM t1 733 INNER JOIN t2 USING(a,b) 734 LEFT JOIN t3 USING(a,b) 735 RIGHT JOIN t4 USING(a,b) 736 RIGHT JOIN t5 USING(a,b) 737 WHERE d<>33 OR d IS NULL 738 ORDER BY 1 NULLS FIRST; 739 } { 740 15 25 35 35 35 35 35 741 17 27 - - - - 37 742 18 28 - - - - 38 743 19 29 - - - 39 39 744 } 745 do_execsql_test joinB-55 { 746 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 747 FROM t1 748 INNER JOIN t2 USING(a) 749 LEFT JOIN t3 USING(a) 750 RIGHT JOIN t4 USING(a) 751 FULL JOIN t5 USING(a) 752 ORDER BY 1 NULLS FIRST; 753 } { 754 11 - - - 11 - 755 13 - - - 13 - 756 15 15 15 15 15 15 757 17 - - - - 17 758 18 - - - - 18 759 19 - - - 19 19 760 } 761 do_execsql_test joinB-56 { 762 SELECT b, c, d, e, f, g 763 FROM t1 764 NATURAL INNER JOIN t2 765 NATURAL LEFT JOIN t3 766 NATURAL RIGHT JOIN t4 767 NATURAL FULL JOIN t5 768 WHERE b BETWEEN 12 AND 17 769 ORDER BY 1 NULLS FIRST; 770 } { 771 } 772 do_execsql_test joinB-57 { 773 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 774 FROM t1 775 INNER JOIN t2 USING(a) 776 LEFT JOIN t3 USING(a) 777 FULL JOIN t4 USING(a) 778 INNER JOIN t5 USING(a) 779 ORDER BY 1 NULLS FIRST; 780 } { 781 15 15 15 15 15 15 782 19 - - - 19 19 783 } 784 do_execsql_test joinB-58 { 785 SELECT a, c, d, e, f, g 786 FROM t1 787 INNER JOIN t2 USING(a,b) 788 LEFT JOIN t3 USING(a,b) 789 FULL JOIN t4 USING(a,b) 790 INNER JOIN t5 USING(a,b) 791 WHERE a<>13 792 ORDER BY 1 NULLS FIRST; 793 } { 794 15 35 35 35 35 35 795 19 - - - 39 39 796 } 797 do_execsql_test joinB-59 { 798 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 799 FROM t1 800 INNER JOIN t2 USING(a) 801 LEFT JOIN t3 USING(a) 802 FULL JOIN t4 USING(a) 803 LEFT JOIN t5 USING(a) 804 ORDER BY 1 NULLS FIRST; 805 } { 806 11 - - - 11 - 807 12 12 12 12 - - 808 13 - - - 13 - 809 15 15 15 15 15 15 810 19 - - - 19 19 811 } 812 do_execsql_test joinB-60 { 813 SELECT a, c, d, e, f, g 814 FROM t1 815 INNER JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 816 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 817 WHERE a<=18 818 ORDER BY 1 NULLS FIRST; 819 } { 820 11 - - - 31 - 821 12 32 32 32 - - 822 13 - - - 33 - 823 15 35 35 35 35 35 824 } 825 do_execsql_test joinB-61 { 826 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 827 FROM t1 828 INNER JOIN t2 USING(a) 829 LEFT JOIN t3 USING(a) 830 FULL JOIN t4 USING(a) 831 RIGHT JOIN t5 USING(a) 832 ORDER BY 1 NULLS FIRST; 833 } { 834 15 15 15 15 15 15 835 17 - - - - 17 836 18 - - - - 18 837 19 - - - 19 19 838 } 839 do_execsql_test joinB-62 { 840 SELECT a, b, c, d, e, f, g 841 FROM t1 842 INNER JOIN t2 USING(a,b) 843 LEFT JOIN t3 USING(a,b) 844 FULL JOIN t4 USING(a,b) 845 RIGHT JOIN t5 USING(a,b) 846 WHERE d<>33 OR d IS NULL 847 ORDER BY 1 NULLS FIRST; 848 } { 849 15 25 35 35 35 35 35 850 17 27 - - - - 37 851 18 28 - - - - 38 852 19 29 - - - 39 39 853 } 854 do_execsql_test joinB-63 { 855 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 856 FROM t1 857 INNER JOIN t2 USING(a) 858 LEFT JOIN t3 USING(a) 859 FULL JOIN t4 USING(a) 860 FULL JOIN t5 USING(a) 861 ORDER BY 1 NULLS FIRST; 862 } { 863 11 - - - 11 - 864 12 12 12 12 - - 865 13 - - - 13 - 866 15 15 15 15 15 15 867 17 - - - - 17 868 18 - - - - 18 869 19 - - - 19 19 870 } 871 do_execsql_test joinB-64 { 872 SELECT b, c, d, e, f, g 873 FROM t1 874 NATURAL INNER JOIN t2 875 NATURAL LEFT JOIN t3 876 NATURAL FULL JOIN t4 877 NATURAL FULL JOIN t5 878 WHERE b BETWEEN 12 AND 17 879 ORDER BY 1 NULLS FIRST; 880 } { 881 } 882 do_execsql_test joinB-65 { 883 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 884 FROM t1 885 INNER JOIN t2 USING(a) 886 RIGHT JOIN t3 USING(a) 887 INNER JOIN t4 USING(a) 888 INNER JOIN t5 USING(a) 889 ORDER BY 1 NULLS FIRST; 890 } { 891 15 15 15 15 15 15 892 19 - - 19 19 19 893 } 894 do_execsql_test joinB-66 { 895 SELECT a, c, d, e, f, g 896 FROM t1 897 INNER JOIN t2 USING(a,b) 898 RIGHT JOIN t3 USING(a,b) 899 INNER JOIN t4 USING(a,b) 900 INNER JOIN t5 USING(a,b) 901 WHERE a<>13 902 ORDER BY 1 NULLS FIRST; 903 } { 904 15 35 35 35 35 35 905 19 - - 39 39 39 906 } 907 do_execsql_test joinB-67 { 908 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 909 FROM t1 910 INNER JOIN t2 USING(a) 911 RIGHT JOIN t3 USING(a) 912 INNER JOIN t4 USING(a) 913 LEFT JOIN t5 USING(a) 914 ORDER BY 1 NULLS FIRST; 915 } { 916 11 - - 11 11 - 917 13 - - 13 13 - 918 15 15 15 15 15 15 919 19 - - 19 19 19 920 } 921 do_execsql_test joinB-68 { 922 SELECT a, c, d, e, f, g 923 FROM t1 924 INNER JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 925 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 926 WHERE a<=18 927 ORDER BY 1 NULLS FIRST; 928 } { 929 11 31 - 31 31 - 930 15 35 35 35 35 35 931 } 932 do_execsql_test joinB-69 { 933 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 934 FROM t1 935 INNER JOIN t2 USING(a) 936 RIGHT JOIN t3 USING(a) 937 INNER JOIN t4 USING(a) 938 RIGHT JOIN t5 USING(a) 939 ORDER BY 1 NULLS FIRST; 940 } { 941 15 15 15 15 15 15 942 17 - - - - 17 943 18 - - - - 18 944 19 - - 19 19 19 945 } 946 do_execsql_test joinB-70 { 947 SELECT a, b, c, d, e, f, g 948 FROM t1 949 INNER JOIN t2 USING(a,b) 950 RIGHT JOIN t3 USING(a,b) 951 INNER JOIN t4 USING(a,b) 952 RIGHT JOIN t5 USING(a,b) 953 WHERE d<>33 OR d IS NULL 954 ORDER BY 1 NULLS FIRST; 955 } { 956 15 25 35 35 35 35 35 957 17 27 - - - - 37 958 18 28 - - - - 38 959 19 29 - - 39 39 39 960 } 961 do_execsql_test joinB-71 { 962 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 963 FROM t1 964 INNER JOIN t2 USING(a) 965 RIGHT JOIN t3 USING(a) 966 INNER JOIN t4 USING(a) 967 FULL JOIN t5 USING(a) 968 ORDER BY 1 NULLS FIRST; 969 } { 970 11 - - 11 11 - 971 13 - - 13 13 - 972 15 15 15 15 15 15 973 17 - - - - 17 974 18 - - - - 18 975 19 - - 19 19 19 976 } 977 do_execsql_test joinB-72 { 978 SELECT b, c, d, e, f, g 979 FROM t1 980 NATURAL INNER JOIN t2 981 NATURAL RIGHT JOIN t3 982 NATURAL INNER JOIN t4 983 NATURAL FULL JOIN t5 984 WHERE b BETWEEN 12 AND 17 985 ORDER BY 1 NULLS FIRST; 986 } { 987 } 988 do_execsql_test joinB-73 { 989 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 990 FROM t1 991 INNER JOIN t2 USING(a) 992 RIGHT JOIN t3 USING(a) 993 LEFT JOIN t4 USING(a) 994 INNER JOIN t5 USING(a) 995 ORDER BY 1 NULLS FIRST; 996 } { 997 15 15 15 15 15 15 998 17 - - 17 - 17 999 18 - - 18 - 18 1000 19 - - 19 19 19 1001 } 1002 do_execsql_test joinB-74 { 1003 SELECT a, c, d, e, f, g 1004 FROM t1 1005 INNER JOIN t2 USING(a,b) 1006 RIGHT JOIN t3 USING(a,b) 1007 LEFT JOIN t4 USING(a,b) 1008 INNER JOIN t5 USING(a,b) 1009 WHERE a<>13 1010 ORDER BY 1 NULLS FIRST; 1011 } { 1012 15 35 35 35 35 35 1013 17 - - 37 - 37 1014 18 - - 38 - 38 1015 19 - - 39 39 39 1016 } 1017 do_execsql_test joinB-75 { 1018 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1019 FROM t1 1020 INNER JOIN t2 USING(a) 1021 RIGHT JOIN t3 USING(a) 1022 LEFT JOIN t4 USING(a) 1023 LEFT JOIN t5 USING(a) 1024 ORDER BY 1 NULLS FIRST; 1025 } { 1026 - - - - - - 1027 11 - - 11 11 - 1028 12 12 12 12 - - 1029 13 - - 13 13 - 1030 15 15 15 15 15 15 1031 17 - - 17 - 17 1032 18 - - 18 - 18 1033 19 - - 19 19 19 1034 } 1035 do_execsql_test joinB-76 { 1036 SELECT a, c, d, e, f, g 1037 FROM t1 1038 INNER JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 1039 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 1040 WHERE a<=18 1041 ORDER BY 1 NULLS FIRST; 1042 } { 1043 11 31 - 31 31 - 1044 12 32 32 32 - - 1045 15 35 35 35 35 35 1046 17 37 - 37 - - 1047 } 1048 do_execsql_test joinB-77 { 1049 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1050 FROM t1 1051 INNER JOIN t2 USING(a) 1052 RIGHT JOIN t3 USING(a) 1053 LEFT JOIN t4 USING(a) 1054 RIGHT JOIN t5 USING(a) 1055 ORDER BY 1 NULLS FIRST; 1056 } { 1057 15 15 15 15 15 15 1058 17 - - 17 - 17 1059 18 - - 18 - 18 1060 19 - - 19 19 19 1061 } 1062 do_execsql_test joinB-78 { 1063 SELECT a, b, c, d, e, f, g 1064 FROM t1 1065 INNER JOIN t2 USING(a,b) 1066 RIGHT JOIN t3 USING(a,b) 1067 LEFT JOIN t4 USING(a,b) 1068 RIGHT JOIN t5 USING(a,b) 1069 WHERE d<>33 OR d IS NULL 1070 ORDER BY 1 NULLS FIRST; 1071 } { 1072 15 25 35 35 35 35 35 1073 17 27 - - 37 - 37 1074 18 28 - - 38 - 38 1075 19 29 - - 39 39 39 1076 } 1077 do_execsql_test joinB-79 { 1078 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1079 FROM t1 1080 INNER JOIN t2 USING(a) 1081 RIGHT JOIN t3 USING(a) 1082 LEFT JOIN t4 USING(a) 1083 FULL JOIN t5 USING(a) 1084 ORDER BY 1 NULLS FIRST; 1085 } { 1086 - - - - - - 1087 11 - - 11 11 - 1088 12 12 12 12 - - 1089 13 - - 13 13 - 1090 15 15 15 15 15 15 1091 17 - - 17 - 17 1092 18 - - 18 - 18 1093 19 - - 19 19 19 1094 } 1095 do_execsql_test joinB-80 { 1096 SELECT b, c, d, e, f, g 1097 FROM t1 1098 NATURAL INNER JOIN t2 1099 NATURAL RIGHT JOIN t3 1100 NATURAL LEFT JOIN t4 1101 NATURAL FULL JOIN t5 1102 WHERE b BETWEEN 12 AND 17 1103 ORDER BY 1 NULLS FIRST; 1104 } { 1105 } 1106 do_execsql_test joinB-81 { 1107 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1108 FROM t1 1109 INNER JOIN t2 USING(a) 1110 RIGHT JOIN t3 USING(a) 1111 RIGHT JOIN t4 USING(a) 1112 INNER JOIN t5 USING(a) 1113 ORDER BY 1 NULLS FIRST; 1114 } { 1115 15 15 15 15 15 15 1116 19 - - 19 19 19 1117 } 1118 do_execsql_test joinB-82 { 1119 SELECT a, c, d, e, f, g 1120 FROM t1 1121 INNER JOIN t2 USING(a,b) 1122 RIGHT JOIN t3 USING(a,b) 1123 RIGHT JOIN t4 USING(a,b) 1124 INNER JOIN t5 USING(a,b) 1125 WHERE a<>13 1126 ORDER BY 1 NULLS FIRST; 1127 } { 1128 15 35 35 35 35 35 1129 19 - - 39 39 39 1130 } 1131 do_execsql_test joinB-83 { 1132 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1133 FROM t1 1134 INNER JOIN t2 USING(a) 1135 RIGHT JOIN t3 USING(a) 1136 RIGHT JOIN t4 USING(a) 1137 LEFT JOIN t5 USING(a) 1138 ORDER BY 1 NULLS FIRST; 1139 } { 1140 11 - - 11 11 - 1141 13 - - 13 13 - 1142 15 15 15 15 15 15 1143 19 - - 19 19 19 1144 } 1145 do_execsql_test joinB-84 { 1146 SELECT a, c, d, e, f, g 1147 FROM t1 1148 INNER JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 1149 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 1150 WHERE a<=18 1151 ORDER BY 1 NULLS FIRST; 1152 } { 1153 11 31 - 31 31 - 1154 13 - - - 33 - 1155 15 35 35 35 35 35 1156 } 1157 do_execsql_test joinB-85 { 1158 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1159 FROM t1 1160 INNER JOIN t2 USING(a) 1161 RIGHT JOIN t3 USING(a) 1162 RIGHT JOIN t4 USING(a) 1163 RIGHT JOIN t5 USING(a) 1164 ORDER BY 1 NULLS FIRST; 1165 } { 1166 15 15 15 15 15 15 1167 17 - - - - 17 1168 18 - - - - 18 1169 19 - - 19 19 19 1170 } 1171 do_execsql_test joinB-86 { 1172 SELECT a, b, c, d, e, f, g 1173 FROM t1 1174 INNER JOIN t2 USING(a,b) 1175 RIGHT JOIN t3 USING(a,b) 1176 RIGHT JOIN t4 USING(a,b) 1177 RIGHT JOIN t5 USING(a,b) 1178 WHERE d<>33 OR d IS NULL 1179 ORDER BY 1 NULLS FIRST; 1180 } { 1181 15 25 35 35 35 35 35 1182 17 27 - - - - 37 1183 18 28 - - - - 38 1184 19 29 - - 39 39 39 1185 } 1186 do_execsql_test joinB-87 { 1187 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1188 FROM t1 1189 INNER JOIN t2 USING(a) 1190 RIGHT JOIN t3 USING(a) 1191 RIGHT JOIN t4 USING(a) 1192 FULL JOIN t5 USING(a) 1193 ORDER BY 1 NULLS FIRST; 1194 } { 1195 11 - - 11 11 - 1196 13 - - 13 13 - 1197 15 15 15 15 15 15 1198 17 - - - - 17 1199 18 - - - - 18 1200 19 - - 19 19 19 1201 } 1202 do_execsql_test joinB-88 { 1203 SELECT b, c, d, e, f, g 1204 FROM t1 1205 NATURAL INNER JOIN t2 1206 NATURAL RIGHT JOIN t3 1207 NATURAL RIGHT JOIN t4 1208 NATURAL FULL JOIN t5 1209 WHERE b BETWEEN 12 AND 17 1210 ORDER BY 1 NULLS FIRST; 1211 } { 1212 } 1213 do_execsql_test joinB-89 { 1214 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1215 FROM t1 1216 INNER JOIN t2 USING(a) 1217 RIGHT JOIN t3 USING(a) 1218 FULL JOIN t4 USING(a) 1219 INNER JOIN t5 USING(a) 1220 ORDER BY 1 NULLS FIRST; 1221 } { 1222 15 15 15 15 15 15 1223 17 - - 17 - 17 1224 18 - - 18 - 18 1225 19 - - 19 19 19 1226 } 1227 do_execsql_test joinB-90 { 1228 SELECT a, c, d, e, f, g 1229 FROM t1 1230 INNER JOIN t2 USING(a,b) 1231 RIGHT JOIN t3 USING(a,b) 1232 FULL JOIN t4 USING(a,b) 1233 INNER JOIN t5 USING(a,b) 1234 WHERE a<>13 1235 ORDER BY 1 NULLS FIRST; 1236 } { 1237 15 35 35 35 35 35 1238 17 - - 37 - 37 1239 18 - - 38 - 38 1240 19 - - 39 39 39 1241 } 1242 do_execsql_test joinB-91 { 1243 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1244 FROM t1 1245 INNER JOIN t2 USING(a) 1246 RIGHT JOIN t3 USING(a) 1247 FULL JOIN t4 USING(a) 1248 LEFT JOIN t5 USING(a) 1249 ORDER BY 1 NULLS FIRST; 1250 } { 1251 - - - - - - 1252 11 - - 11 11 - 1253 12 12 12 12 - - 1254 13 - - 13 13 - 1255 15 15 15 15 15 15 1256 17 - - 17 - 17 1257 18 - - 18 - 18 1258 19 - - 19 19 19 1259 } 1260 do_execsql_test joinB-92 { 1261 SELECT a, c, d, e, f, g 1262 FROM t1 1263 INNER JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 1264 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 1265 WHERE a<=18 1266 ORDER BY 1 NULLS FIRST; 1267 } { 1268 11 31 - 31 31 - 1269 12 32 32 32 - - 1270 13 - - - 33 - 1271 15 35 35 35 35 35 1272 17 37 - 37 - - 1273 } 1274 do_execsql_test joinB-93 { 1275 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1276 FROM t1 1277 INNER JOIN t2 USING(a) 1278 RIGHT JOIN t3 USING(a) 1279 FULL JOIN t4 USING(a) 1280 RIGHT JOIN t5 USING(a) 1281 ORDER BY 1 NULLS FIRST; 1282 } { 1283 15 15 15 15 15 15 1284 17 - - 17 - 17 1285 18 - - 18 - 18 1286 19 - - 19 19 19 1287 } 1288 do_execsql_test joinB-94 { 1289 SELECT a, b, c, d, e, f, g 1290 FROM t1 1291 INNER JOIN t2 USING(a,b) 1292 RIGHT JOIN t3 USING(a,b) 1293 FULL JOIN t4 USING(a,b) 1294 RIGHT JOIN t5 USING(a,b) 1295 WHERE d<>33 OR d IS NULL 1296 ORDER BY 1 NULLS FIRST; 1297 } { 1298 15 25 35 35 35 35 35 1299 17 27 - - 37 - 37 1300 18 28 - - 38 - 38 1301 19 29 - - 39 39 39 1302 } 1303 do_execsql_test joinB-95 { 1304 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1305 FROM t1 1306 INNER JOIN t2 USING(a) 1307 RIGHT JOIN t3 USING(a) 1308 FULL JOIN t4 USING(a) 1309 FULL JOIN t5 USING(a) 1310 ORDER BY 1 NULLS FIRST; 1311 } { 1312 - - - - - - 1313 11 - - 11 11 - 1314 12 12 12 12 - - 1315 13 - - 13 13 - 1316 15 15 15 15 15 15 1317 17 - - 17 - 17 1318 18 - - 18 - 18 1319 19 - - 19 19 19 1320 } 1321 do_execsql_test joinB-96 { 1322 SELECT b, c, d, e, f, g 1323 FROM t1 1324 NATURAL INNER JOIN t2 1325 NATURAL RIGHT JOIN t3 1326 NATURAL FULL JOIN t4 1327 NATURAL FULL JOIN t5 1328 WHERE b BETWEEN 12 AND 17 1329 ORDER BY 1 NULLS FIRST; 1330 } { 1331 } 1332 do_execsql_test joinB-97 { 1333 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1334 FROM t1 1335 INNER JOIN t2 USING(a) 1336 FULL JOIN t3 USING(a) 1337 INNER JOIN t4 USING(a) 1338 INNER JOIN t5 USING(a) 1339 ORDER BY 1 NULLS FIRST; 1340 } { 1341 15 15 15 15 15 15 1342 19 - - 19 19 19 1343 } 1344 do_execsql_test joinB-98 { 1345 SELECT a, c, d, e, f, g 1346 FROM t1 1347 INNER JOIN t2 USING(a,b) 1348 FULL JOIN t3 USING(a,b) 1349 INNER JOIN t4 USING(a,b) 1350 INNER JOIN t5 USING(a,b) 1351 WHERE a<>13 1352 ORDER BY 1 NULLS FIRST; 1353 } { 1354 15 35 35 35 35 35 1355 19 - - 39 39 39 1356 } 1357 do_execsql_test joinB-99 { 1358 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1359 FROM t1 1360 INNER JOIN t2 USING(a) 1361 FULL JOIN t3 USING(a) 1362 INNER JOIN t4 USING(a) 1363 LEFT JOIN t5 USING(a) 1364 ORDER BY 1 NULLS FIRST; 1365 } { 1366 11 - - 11 11 - 1367 13 - - 13 13 - 1368 15 15 15 15 15 15 1369 19 - - 19 19 19 1370 } 1371 do_execsql_test joinB-100 { 1372 SELECT a, c, d, e, f, g 1373 FROM t1 1374 INNER JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 1375 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 1376 WHERE a<=18 1377 ORDER BY 1 NULLS FIRST; 1378 } { 1379 11 31 - 31 31 - 1380 15 35 35 35 35 35 1381 } 1382 do_execsql_test joinB-101 { 1383 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1384 FROM t1 1385 INNER JOIN t2 USING(a) 1386 FULL JOIN t3 USING(a) 1387 INNER JOIN t4 USING(a) 1388 RIGHT JOIN t5 USING(a) 1389 ORDER BY 1 NULLS FIRST; 1390 } { 1391 15 15 15 15 15 15 1392 17 - - - - 17 1393 18 - - - - 18 1394 19 - - 19 19 19 1395 } 1396 do_execsql_test joinB-102 { 1397 SELECT a, b, c, d, e, f, g 1398 FROM t1 1399 INNER JOIN t2 USING(a,b) 1400 FULL JOIN t3 USING(a,b) 1401 INNER JOIN t4 USING(a,b) 1402 RIGHT JOIN t5 USING(a,b) 1403 WHERE d<>33 OR d IS NULL 1404 ORDER BY 1 NULLS FIRST; 1405 } { 1406 15 25 35 35 35 35 35 1407 17 27 - - - - 37 1408 18 28 - - - - 38 1409 19 29 - - 39 39 39 1410 } 1411 do_execsql_test joinB-103 { 1412 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1413 FROM t1 1414 INNER JOIN t2 USING(a) 1415 FULL JOIN t3 USING(a) 1416 INNER JOIN t4 USING(a) 1417 FULL JOIN t5 USING(a) 1418 ORDER BY 1 NULLS FIRST; 1419 } { 1420 11 - - 11 11 - 1421 13 - - 13 13 - 1422 15 15 15 15 15 15 1423 17 - - - - 17 1424 18 - - - - 18 1425 19 - - 19 19 19 1426 } 1427 do_execsql_test joinB-104 { 1428 SELECT b, c, d, e, f, g 1429 FROM t1 1430 NATURAL INNER JOIN t2 1431 NATURAL FULL JOIN t3 1432 NATURAL INNER JOIN t4 1433 NATURAL FULL JOIN t5 1434 WHERE b BETWEEN 12 AND 17 1435 ORDER BY 1 NULLS FIRST; 1436 } { 1437 } 1438 do_execsql_test joinB-105 { 1439 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1440 FROM t1 1441 INNER JOIN t2 USING(a) 1442 FULL JOIN t3 USING(a) 1443 LEFT JOIN t4 USING(a) 1444 INNER JOIN t5 USING(a) 1445 ORDER BY 1 NULLS FIRST; 1446 } { 1447 15 15 15 15 15 15 1448 17 - - 17 - 17 1449 18 - - 18 - 18 1450 19 - - 19 19 19 1451 } 1452 do_execsql_test joinB-106 { 1453 SELECT a, c, d, e, f, g 1454 FROM t1 1455 INNER JOIN t2 USING(a,b) 1456 FULL JOIN t3 USING(a,b) 1457 LEFT JOIN t4 USING(a,b) 1458 INNER JOIN t5 USING(a,b) 1459 WHERE a<>13 1460 ORDER BY 1 NULLS FIRST; 1461 } { 1462 15 35 35 35 35 35 1463 17 - - 37 - 37 1464 18 - - 38 - 38 1465 19 - - 39 39 39 1466 } 1467 do_execsql_test joinB-107 { 1468 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1469 FROM t1 1470 INNER JOIN t2 USING(a) 1471 FULL JOIN t3 USING(a) 1472 LEFT JOIN t4 USING(a) 1473 LEFT JOIN t5 USING(a) 1474 ORDER BY 1 NULLS FIRST; 1475 } { 1476 - - - - - - 1477 11 - - 11 11 - 1478 12 12 12 12 - - 1479 13 - - 13 13 - 1480 15 15 15 15 15 15 1481 17 - - 17 - 17 1482 18 - - 18 - 18 1483 19 - - 19 19 19 1484 } 1485 do_execsql_test joinB-108 { 1486 SELECT a, c, d, e, f, g 1487 FROM t1 1488 INNER JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 1489 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 1490 WHERE a<=18 1491 ORDER BY 1 NULLS FIRST; 1492 } { 1493 11 31 - 31 31 - 1494 12 32 32 32 - - 1495 15 35 35 35 35 35 1496 17 37 - 37 - - 1497 } 1498 do_execsql_test joinB-109 { 1499 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1500 FROM t1 1501 INNER JOIN t2 USING(a) 1502 FULL JOIN t3 USING(a) 1503 LEFT JOIN t4 USING(a) 1504 RIGHT JOIN t5 USING(a) 1505 ORDER BY 1 NULLS FIRST; 1506 } { 1507 15 15 15 15 15 15 1508 17 - - 17 - 17 1509 18 - - 18 - 18 1510 19 - - 19 19 19 1511 } 1512 do_execsql_test joinB-110 { 1513 SELECT a, b, c, d, e, f, g 1514 FROM t1 1515 INNER JOIN t2 USING(a,b) 1516 FULL JOIN t3 USING(a,b) 1517 LEFT JOIN t4 USING(a,b) 1518 RIGHT JOIN t5 USING(a,b) 1519 WHERE d<>33 OR d IS NULL 1520 ORDER BY 1 NULLS FIRST; 1521 } { 1522 15 25 35 35 35 35 35 1523 17 27 - - 37 - 37 1524 18 28 - - 38 - 38 1525 19 29 - - 39 39 39 1526 } 1527 do_execsql_test joinB-111 { 1528 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1529 FROM t1 1530 INNER JOIN t2 USING(a) 1531 FULL JOIN t3 USING(a) 1532 LEFT JOIN t4 USING(a) 1533 FULL JOIN t5 USING(a) 1534 ORDER BY 1 NULLS FIRST; 1535 } { 1536 - - - - - - 1537 11 - - 11 11 - 1538 12 12 12 12 - - 1539 13 - - 13 13 - 1540 15 15 15 15 15 15 1541 17 - - 17 - 17 1542 18 - - 18 - 18 1543 19 - - 19 19 19 1544 } 1545 do_execsql_test joinB-112 { 1546 SELECT b, c, d, e, f, g 1547 FROM t1 1548 NATURAL INNER JOIN t2 1549 NATURAL FULL JOIN t3 1550 NATURAL LEFT JOIN t4 1551 NATURAL FULL JOIN t5 1552 WHERE b BETWEEN 12 AND 17 1553 ORDER BY 1 NULLS FIRST; 1554 } { 1555 } 1556 do_execsql_test joinB-113 { 1557 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1558 FROM t1 1559 INNER JOIN t2 USING(a) 1560 FULL JOIN t3 USING(a) 1561 RIGHT JOIN t4 USING(a) 1562 INNER JOIN t5 USING(a) 1563 ORDER BY 1 NULLS FIRST; 1564 } { 1565 15 15 15 15 15 15 1566 19 - - 19 19 19 1567 } 1568 do_execsql_test joinB-114 { 1569 SELECT a, c, d, e, f, g 1570 FROM t1 1571 INNER JOIN t2 USING(a,b) 1572 FULL JOIN t3 USING(a,b) 1573 RIGHT JOIN t4 USING(a,b) 1574 INNER JOIN t5 USING(a,b) 1575 WHERE a<>13 1576 ORDER BY 1 NULLS FIRST; 1577 } { 1578 15 35 35 35 35 35 1579 19 - - 39 39 39 1580 } 1581 do_execsql_test joinB-115 { 1582 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1583 FROM t1 1584 INNER JOIN t2 USING(a) 1585 FULL JOIN t3 USING(a) 1586 RIGHT JOIN t4 USING(a) 1587 LEFT JOIN t5 USING(a) 1588 ORDER BY 1 NULLS FIRST; 1589 } { 1590 11 - - 11 11 - 1591 13 - - 13 13 - 1592 15 15 15 15 15 15 1593 19 - - 19 19 19 1594 } 1595 do_execsql_test joinB-116 { 1596 SELECT a, c, d, e, f, g 1597 FROM t1 1598 INNER JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 1599 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 1600 WHERE a<=18 1601 ORDER BY 1 NULLS FIRST; 1602 } { 1603 11 31 - 31 31 - 1604 13 - - - 33 - 1605 15 35 35 35 35 35 1606 } 1607 do_execsql_test joinB-117 { 1608 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1609 FROM t1 1610 INNER JOIN t2 USING(a) 1611 FULL JOIN t3 USING(a) 1612 RIGHT JOIN t4 USING(a) 1613 RIGHT JOIN t5 USING(a) 1614 ORDER BY 1 NULLS FIRST; 1615 } { 1616 15 15 15 15 15 15 1617 17 - - - - 17 1618 18 - - - - 18 1619 19 - - 19 19 19 1620 } 1621 do_execsql_test joinB-118 { 1622 SELECT a, b, c, d, e, f, g 1623 FROM t1 1624 INNER JOIN t2 USING(a,b) 1625 FULL JOIN t3 USING(a,b) 1626 RIGHT JOIN t4 USING(a,b) 1627 RIGHT JOIN t5 USING(a,b) 1628 WHERE d<>33 OR d IS NULL 1629 ORDER BY 1 NULLS FIRST; 1630 } { 1631 15 25 35 35 35 35 35 1632 17 27 - - - - 37 1633 18 28 - - - - 38 1634 19 29 - - 39 39 39 1635 } 1636 do_execsql_test joinB-119 { 1637 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1638 FROM t1 1639 INNER JOIN t2 USING(a) 1640 FULL JOIN t3 USING(a) 1641 RIGHT JOIN t4 USING(a) 1642 FULL JOIN t5 USING(a) 1643 ORDER BY 1 NULLS FIRST; 1644 } { 1645 11 - - 11 11 - 1646 13 - - 13 13 - 1647 15 15 15 15 15 15 1648 17 - - - - 17 1649 18 - - - - 18 1650 19 - - 19 19 19 1651 } 1652 do_execsql_test joinB-120 { 1653 SELECT b, c, d, e, f, g 1654 FROM t1 1655 NATURAL INNER JOIN t2 1656 NATURAL FULL JOIN t3 1657 NATURAL RIGHT JOIN t4 1658 NATURAL FULL JOIN t5 1659 WHERE b BETWEEN 12 AND 17 1660 ORDER BY 1 NULLS FIRST; 1661 } { 1662 } 1663 do_execsql_test joinB-121 { 1664 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1665 FROM t1 1666 INNER JOIN t2 USING(a) 1667 FULL JOIN t3 USING(a) 1668 FULL JOIN t4 USING(a) 1669 INNER JOIN t5 USING(a) 1670 ORDER BY 1 NULLS FIRST; 1671 } { 1672 15 15 15 15 15 15 1673 17 - - 17 - 17 1674 18 - - 18 - 18 1675 19 - - 19 19 19 1676 } 1677 do_execsql_test joinB-122 { 1678 SELECT a, c, d, e, f, g 1679 FROM t1 1680 INNER JOIN t2 USING(a,b) 1681 FULL JOIN t3 USING(a,b) 1682 FULL JOIN t4 USING(a,b) 1683 INNER JOIN t5 USING(a,b) 1684 WHERE a<>13 1685 ORDER BY 1 NULLS FIRST; 1686 } { 1687 15 35 35 35 35 35 1688 17 - - 37 - 37 1689 18 - - 38 - 38 1690 19 - - 39 39 39 1691 } 1692 do_execsql_test joinB-123 { 1693 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1694 FROM t1 1695 INNER JOIN t2 USING(a) 1696 FULL JOIN t3 USING(a) 1697 FULL JOIN t4 USING(a) 1698 LEFT JOIN t5 USING(a) 1699 ORDER BY 1 NULLS FIRST; 1700 } { 1701 - - - - - - 1702 11 - - 11 11 - 1703 12 12 12 12 - - 1704 13 - - 13 13 - 1705 15 15 15 15 15 15 1706 17 - - 17 - 17 1707 18 - - 18 - 18 1708 19 - - 19 19 19 1709 } 1710 do_execsql_test joinB-124 { 1711 SELECT a, c, d, e, f, g 1712 FROM t1 1713 INNER JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 1714 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 1715 WHERE a<=18 1716 ORDER BY 1 NULLS FIRST; 1717 } { 1718 11 31 - 31 31 - 1719 12 32 32 32 - - 1720 13 - - - 33 - 1721 15 35 35 35 35 35 1722 17 37 - 37 - - 1723 } 1724 do_execsql_test joinB-125 { 1725 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1726 FROM t1 1727 INNER JOIN t2 USING(a) 1728 FULL JOIN t3 USING(a) 1729 FULL JOIN t4 USING(a) 1730 RIGHT JOIN t5 USING(a) 1731 ORDER BY 1 NULLS FIRST; 1732 } { 1733 15 15 15 15 15 15 1734 17 - - 17 - 17 1735 18 - - 18 - 18 1736 19 - - 19 19 19 1737 } 1738 do_execsql_test joinB-126 { 1739 SELECT a, b, c, d, e, f, g 1740 FROM t1 1741 INNER JOIN t2 USING(a,b) 1742 FULL JOIN t3 USING(a,b) 1743 FULL JOIN t4 USING(a,b) 1744 RIGHT JOIN t5 USING(a,b) 1745 WHERE d<>33 OR d IS NULL 1746 ORDER BY 1 NULLS FIRST; 1747 } { 1748 15 25 35 35 35 35 35 1749 17 27 - - 37 - 37 1750 18 28 - - 38 - 38 1751 19 29 - - 39 39 39 1752 } 1753 do_execsql_test joinB-127 { 1754 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1755 FROM t1 1756 INNER JOIN t2 USING(a) 1757 FULL JOIN t3 USING(a) 1758 FULL JOIN t4 USING(a) 1759 FULL JOIN t5 USING(a) 1760 ORDER BY 1 NULLS FIRST; 1761 } { 1762 - - - - - - 1763 11 - - 11 11 - 1764 12 12 12 12 - - 1765 13 - - 13 13 - 1766 15 15 15 15 15 15 1767 17 - - 17 - 17 1768 18 - - 18 - 18 1769 19 - - 19 19 19 1770 } 1771 do_execsql_test joinB-128 { 1772 SELECT b, c, d, e, f, g 1773 FROM t1 1774 NATURAL INNER JOIN t2 1775 NATURAL FULL JOIN t3 1776 NATURAL FULL JOIN t4 1777 NATURAL FULL JOIN t5 1778 WHERE b BETWEEN 12 AND 17 1779 ORDER BY 1 NULLS FIRST; 1780 } { 1781 } 1782 do_execsql_test joinB-129 { 1783 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1784 FROM t1 1785 LEFT JOIN t2 USING(a) 1786 INNER JOIN t3 USING(a) 1787 INNER JOIN t4 USING(a) 1788 INNER JOIN t5 USING(a) 1789 ORDER BY 1 NULLS FIRST; 1790 } { 1791 15 15 15 15 15 15 1792 } 1793 do_execsql_test joinB-130 { 1794 SELECT a, c, d, e, f, g 1795 FROM t1 1796 LEFT JOIN t2 USING(a,b) 1797 INNER JOIN t3 USING(a,b) 1798 INNER JOIN t4 USING(a,b) 1799 INNER JOIN t5 USING(a,b) 1800 WHERE a<>13 1801 ORDER BY 1 NULLS FIRST; 1802 } { 1803 15 35 35 35 35 35 1804 } 1805 do_execsql_test joinB-131 { 1806 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1807 FROM t1 1808 LEFT JOIN t2 USING(a) 1809 INNER JOIN t3 USING(a) 1810 INNER JOIN t4 USING(a) 1811 LEFT JOIN t5 USING(a) 1812 ORDER BY 1 NULLS FIRST; 1813 } { 1814 11 11 - 11 11 - 1815 15 15 15 15 15 15 1816 } 1817 do_execsql_test joinB-132 { 1818 SELECT a, c, d, e, f, g 1819 FROM t1 1820 LEFT JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 1821 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 1822 WHERE a<=18 1823 ORDER BY 1 NULLS FIRST; 1824 } { 1825 11 31 - - 31 - 1826 15 35 35 35 35 35 1827 } 1828 do_execsql_test joinB-133 { 1829 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1830 FROM t1 1831 LEFT JOIN t2 USING(a) 1832 INNER JOIN t3 USING(a) 1833 INNER JOIN t4 USING(a) 1834 RIGHT JOIN t5 USING(a) 1835 ORDER BY 1 NULLS FIRST; 1836 } { 1837 15 15 15 15 15 15 1838 17 - - - - 17 1839 18 - - - - 18 1840 19 - - - - 19 1841 } 1842 do_execsql_test joinB-134 { 1843 SELECT a, b, c, d, e, f, g 1844 FROM t1 1845 LEFT JOIN t2 USING(a,b) 1846 INNER JOIN t3 USING(a,b) 1847 INNER JOIN t4 USING(a,b) 1848 RIGHT JOIN t5 USING(a,b) 1849 WHERE d<>33 OR d IS NULL 1850 ORDER BY 1 NULLS FIRST; 1851 } { 1852 15 25 35 35 35 35 35 1853 17 27 - - - - 37 1854 18 28 - - - - 38 1855 19 29 - - - - 39 1856 } 1857 do_execsql_test joinB-135 { 1858 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1859 FROM t1 1860 LEFT JOIN t2 USING(a) 1861 INNER JOIN t3 USING(a) 1862 INNER JOIN t4 USING(a) 1863 FULL JOIN t5 USING(a) 1864 ORDER BY 1 NULLS FIRST; 1865 } { 1866 11 11 - 11 11 - 1867 15 15 15 15 15 15 1868 17 - - - - 17 1869 18 - - - - 18 1870 19 - - - - 19 1871 } 1872 do_execsql_test joinB-136 { 1873 SELECT b, c, d, e, f, g 1874 FROM t1 1875 NATURAL LEFT JOIN t2 1876 NATURAL INNER JOIN t3 1877 NATURAL INNER JOIN t4 1878 NATURAL FULL JOIN t5 1879 WHERE b BETWEEN 12 AND 17 1880 ORDER BY 1 NULLS FIRST; 1881 } { 1882 } 1883 do_execsql_test joinB-137 { 1884 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1885 FROM t1 1886 LEFT JOIN t2 USING(a) 1887 INNER JOIN t3 USING(a) 1888 LEFT JOIN t4 USING(a) 1889 INNER JOIN t5 USING(a) 1890 ORDER BY 1 NULLS FIRST; 1891 } { 1892 15 15 15 15 15 15 1893 17 17 - 17 - 17 1894 } 1895 do_execsql_test joinB-138 { 1896 SELECT a, c, d, e, f, g 1897 FROM t1 1898 LEFT JOIN t2 USING(a,b) 1899 INNER JOIN t3 USING(a,b) 1900 LEFT JOIN t4 USING(a,b) 1901 INNER JOIN t5 USING(a,b) 1902 WHERE a<>13 1903 ORDER BY 1 NULLS FIRST; 1904 } { 1905 15 35 35 35 35 35 1906 17 37 - 37 - 37 1907 } 1908 do_execsql_test joinB-139 { 1909 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1910 FROM t1 1911 LEFT JOIN t2 USING(a) 1912 INNER JOIN t3 USING(a) 1913 LEFT JOIN t4 USING(a) 1914 LEFT JOIN t5 USING(a) 1915 ORDER BY 1 NULLS FIRST; 1916 } { 1917 11 11 - 11 11 - 1918 12 12 12 12 - - 1919 15 15 15 15 15 15 1920 17 17 - 17 - 17 1921 } 1922 do_execsql_test joinB-140 { 1923 SELECT a, c, d, e, f, g 1924 FROM t1 1925 LEFT JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 1926 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 1927 WHERE a<=18 1928 ORDER BY 1 NULLS FIRST; 1929 } { 1930 11 31 - - 31 - 1931 12 32 32 32 - - 1932 15 35 35 35 35 35 1933 17 37 - - - - 1934 } 1935 do_execsql_test joinB-141 { 1936 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1937 FROM t1 1938 LEFT JOIN t2 USING(a) 1939 INNER JOIN t3 USING(a) 1940 LEFT JOIN t4 USING(a) 1941 RIGHT JOIN t5 USING(a) 1942 ORDER BY 1 NULLS FIRST; 1943 } { 1944 15 15 15 15 15 15 1945 17 17 - 17 - 17 1946 18 - - - - 18 1947 19 - - - - 19 1948 } 1949 do_execsql_test joinB-142 { 1950 SELECT a, b, c, d, e, f, g 1951 FROM t1 1952 LEFT JOIN t2 USING(a,b) 1953 INNER JOIN t3 USING(a,b) 1954 LEFT JOIN t4 USING(a,b) 1955 RIGHT JOIN t5 USING(a,b) 1956 WHERE d<>33 OR d IS NULL 1957 ORDER BY 1 NULLS FIRST; 1958 } { 1959 15 25 35 35 35 35 35 1960 17 27 37 - 37 - 37 1961 18 28 - - - - 38 1962 19 29 - - - - 39 1963 } 1964 do_execsql_test joinB-143 { 1965 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1966 FROM t1 1967 LEFT JOIN t2 USING(a) 1968 INNER JOIN t3 USING(a) 1969 LEFT JOIN t4 USING(a) 1970 FULL JOIN t5 USING(a) 1971 ORDER BY 1 NULLS FIRST; 1972 } { 1973 11 11 - 11 11 - 1974 12 12 12 12 - - 1975 15 15 15 15 15 15 1976 17 17 - 17 - 17 1977 18 - - - - 18 1978 19 - - - - 19 1979 } 1980 do_execsql_test joinB-144 { 1981 SELECT b, c, d, e, f, g 1982 FROM t1 1983 NATURAL LEFT JOIN t2 1984 NATURAL INNER JOIN t3 1985 NATURAL LEFT JOIN t4 1986 NATURAL FULL JOIN t5 1987 WHERE b BETWEEN 12 AND 17 1988 ORDER BY 1 NULLS FIRST; 1989 } { 1990 } 1991 do_execsql_test joinB-145 { 1992 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 1993 FROM t1 1994 LEFT JOIN t2 USING(a) 1995 INNER JOIN t3 USING(a) 1996 RIGHT JOIN t4 USING(a) 1997 INNER JOIN t5 USING(a) 1998 ORDER BY 1 NULLS FIRST; 1999 } { 2000 15 15 15 15 15 15 2001 19 - - - 19 19 2002 } 2003 do_execsql_test joinB-146 { 2004 SELECT a, c, d, e, f, g 2005 FROM t1 2006 LEFT JOIN t2 USING(a,b) 2007 INNER JOIN t3 USING(a,b) 2008 RIGHT JOIN t4 USING(a,b) 2009 INNER JOIN t5 USING(a,b) 2010 WHERE a<>13 2011 ORDER BY 1 NULLS FIRST; 2012 } { 2013 15 35 35 35 35 35 2014 19 - - - 39 39 2015 } 2016 do_execsql_test joinB-147 { 2017 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2018 FROM t1 2019 LEFT JOIN t2 USING(a) 2020 INNER JOIN t3 USING(a) 2021 RIGHT JOIN t4 USING(a) 2022 LEFT JOIN t5 USING(a) 2023 ORDER BY 1 NULLS FIRST; 2024 } { 2025 11 11 - 11 11 - 2026 13 - - - 13 - 2027 15 15 15 15 15 15 2028 19 - - - 19 19 2029 } 2030 do_execsql_test joinB-148 { 2031 SELECT a, c, d, e, f, g 2032 FROM t1 2033 LEFT JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 2034 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 2035 WHERE a<=18 2036 ORDER BY 1 NULLS FIRST; 2037 } { 2038 11 31 - - 31 - 2039 13 - - - 33 - 2040 15 35 35 35 35 35 2041 } 2042 do_execsql_test joinB-149 { 2043 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2044 FROM t1 2045 LEFT JOIN t2 USING(a) 2046 INNER JOIN t3 USING(a) 2047 RIGHT JOIN t4 USING(a) 2048 RIGHT JOIN t5 USING(a) 2049 ORDER BY 1 NULLS FIRST; 2050 } { 2051 15 15 15 15 15 15 2052 17 - - - - 17 2053 18 - - - - 18 2054 19 - - - 19 19 2055 } 2056 do_execsql_test joinB-150 { 2057 SELECT a, b, c, d, e, f, g 2058 FROM t1 2059 LEFT JOIN t2 USING(a,b) 2060 INNER JOIN t3 USING(a,b) 2061 RIGHT JOIN t4 USING(a,b) 2062 RIGHT JOIN t5 USING(a,b) 2063 WHERE d<>33 OR d IS NULL 2064 ORDER BY 1 NULLS FIRST; 2065 } { 2066 15 25 35 35 35 35 35 2067 17 27 - - - - 37 2068 18 28 - - - - 38 2069 19 29 - - - 39 39 2070 } 2071 do_execsql_test joinB-151 { 2072 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2073 FROM t1 2074 LEFT JOIN t2 USING(a) 2075 INNER JOIN t3 USING(a) 2076 RIGHT JOIN t4 USING(a) 2077 FULL JOIN t5 USING(a) 2078 ORDER BY 1 NULLS FIRST; 2079 } { 2080 11 11 - 11 11 - 2081 13 - - - 13 - 2082 15 15 15 15 15 15 2083 17 - - - - 17 2084 18 - - - - 18 2085 19 - - - 19 19 2086 } 2087 do_execsql_test joinB-152 { 2088 SELECT b, c, d, e, f, g 2089 FROM t1 2090 NATURAL LEFT JOIN t2 2091 NATURAL INNER JOIN t3 2092 NATURAL RIGHT JOIN t4 2093 NATURAL FULL JOIN t5 2094 WHERE b BETWEEN 12 AND 17 2095 ORDER BY 1 NULLS FIRST; 2096 } { 2097 } 2098 do_execsql_test joinB-153 { 2099 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2100 FROM t1 2101 LEFT JOIN t2 USING(a) 2102 INNER JOIN t3 USING(a) 2103 FULL JOIN t4 USING(a) 2104 INNER JOIN t5 USING(a) 2105 ORDER BY 1 NULLS FIRST; 2106 } { 2107 15 15 15 15 15 15 2108 17 17 - 17 - 17 2109 19 - - - 19 19 2110 } 2111 do_execsql_test joinB-154 { 2112 SELECT a, c, d, e, f, g 2113 FROM t1 2114 LEFT JOIN t2 USING(a,b) 2115 INNER JOIN t3 USING(a,b) 2116 FULL JOIN t4 USING(a,b) 2117 INNER JOIN t5 USING(a,b) 2118 WHERE a<>13 2119 ORDER BY 1 NULLS FIRST; 2120 } { 2121 15 35 35 35 35 35 2122 17 37 - 37 - 37 2123 19 - - - 39 39 2124 } 2125 do_execsql_test joinB-155 { 2126 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2127 FROM t1 2128 LEFT JOIN t2 USING(a) 2129 INNER JOIN t3 USING(a) 2130 FULL JOIN t4 USING(a) 2131 LEFT JOIN t5 USING(a) 2132 ORDER BY 1 NULLS FIRST; 2133 } { 2134 11 11 - 11 11 - 2135 12 12 12 12 - - 2136 13 - - - 13 - 2137 15 15 15 15 15 15 2138 17 17 - 17 - 17 2139 19 - - - 19 19 2140 } 2141 do_execsql_test joinB-156 { 2142 SELECT a, c, d, e, f, g 2143 FROM t1 2144 LEFT JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 2145 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 2146 WHERE a<=18 2147 ORDER BY 1 NULLS FIRST; 2148 } { 2149 11 31 - - 31 - 2150 12 32 32 32 - - 2151 13 - - - 33 - 2152 15 35 35 35 35 35 2153 17 37 - - - - 2154 } 2155 do_execsql_test joinB-157 { 2156 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2157 FROM t1 2158 LEFT JOIN t2 USING(a) 2159 INNER JOIN t3 USING(a) 2160 FULL JOIN t4 USING(a) 2161 RIGHT JOIN t5 USING(a) 2162 ORDER BY 1 NULLS FIRST; 2163 } { 2164 15 15 15 15 15 15 2165 17 17 - 17 - 17 2166 18 - - - - 18 2167 19 - - - 19 19 2168 } 2169 do_execsql_test joinB-158 { 2170 SELECT a, b, c, d, e, f, g 2171 FROM t1 2172 LEFT JOIN t2 USING(a,b) 2173 INNER JOIN t3 USING(a,b) 2174 FULL JOIN t4 USING(a,b) 2175 RIGHT JOIN t5 USING(a,b) 2176 WHERE d<>33 OR d IS NULL 2177 ORDER BY 1 NULLS FIRST; 2178 } { 2179 15 25 35 35 35 35 35 2180 17 27 37 - 37 - 37 2181 18 28 - - - - 38 2182 19 29 - - - 39 39 2183 } 2184 do_execsql_test joinB-159 { 2185 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2186 FROM t1 2187 LEFT JOIN t2 USING(a) 2188 INNER JOIN t3 USING(a) 2189 FULL JOIN t4 USING(a) 2190 FULL JOIN t5 USING(a) 2191 ORDER BY 1 NULLS FIRST; 2192 } { 2193 11 11 - 11 11 - 2194 12 12 12 12 - - 2195 13 - - - 13 - 2196 15 15 15 15 15 15 2197 17 17 - 17 - 17 2198 18 - - - - 18 2199 19 - - - 19 19 2200 } 2201 do_execsql_test joinB-160 { 2202 SELECT b, c, d, e, f, g 2203 FROM t1 2204 NATURAL LEFT JOIN t2 2205 NATURAL INNER JOIN t3 2206 NATURAL FULL JOIN t4 2207 NATURAL FULL JOIN t5 2208 WHERE b BETWEEN 12 AND 17 2209 ORDER BY 1 NULLS FIRST; 2210 } { 2211 } 2212 do_execsql_test joinB-161 { 2213 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2214 FROM t1 2215 LEFT JOIN t2 USING(a) 2216 LEFT JOIN t3 USING(a) 2217 INNER JOIN t4 USING(a) 2218 INNER JOIN t5 USING(a) 2219 ORDER BY 1 NULLS FIRST; 2220 } { 2221 15 15 15 15 15 15 2222 } 2223 do_execsql_test joinB-162 { 2224 SELECT a, c, d, e, f, g 2225 FROM t1 2226 LEFT JOIN t2 USING(a,b) 2227 LEFT JOIN t3 USING(a,b) 2228 INNER JOIN t4 USING(a,b) 2229 INNER JOIN t5 USING(a,b) 2230 WHERE a<>13 2231 ORDER BY 1 NULLS FIRST; 2232 } { 2233 15 35 35 35 35 35 2234 } 2235 do_execsql_test joinB-163 { 2236 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2237 FROM t1 2238 LEFT JOIN t2 USING(a) 2239 LEFT JOIN t3 USING(a) 2240 INNER JOIN t4 USING(a) 2241 LEFT JOIN t5 USING(a) 2242 ORDER BY 1 NULLS FIRST; 2243 } { 2244 11 11 - 11 11 - 2245 15 15 15 15 15 15 2246 } 2247 do_execsql_test joinB-164 { 2248 SELECT a, c, d, e, f, g 2249 FROM t1 2250 LEFT JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 2251 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 2252 WHERE a<=18 2253 ORDER BY 1 NULLS FIRST; 2254 } { 2255 11 31 - - 31 - 2256 15 35 35 35 35 35 2257 } 2258 do_execsql_test joinB-165 { 2259 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2260 FROM t1 2261 LEFT JOIN t2 USING(a) 2262 LEFT JOIN t3 USING(a) 2263 INNER JOIN t4 USING(a) 2264 RIGHT JOIN t5 USING(a) 2265 ORDER BY 1 NULLS FIRST; 2266 } { 2267 15 15 15 15 15 15 2268 17 - - - - 17 2269 18 - - - - 18 2270 19 - - - - 19 2271 } 2272 do_execsql_test joinB-166 { 2273 SELECT a, b, c, d, e, f, g 2274 FROM t1 2275 LEFT JOIN t2 USING(a,b) 2276 LEFT JOIN t3 USING(a,b) 2277 INNER JOIN t4 USING(a,b) 2278 RIGHT JOIN t5 USING(a,b) 2279 WHERE d<>33 OR d IS NULL 2280 ORDER BY 1 NULLS FIRST; 2281 } { 2282 15 25 35 35 35 35 35 2283 17 27 - - - - 37 2284 18 28 - - - - 38 2285 19 29 - - - - 39 2286 } 2287 do_execsql_test joinB-167 { 2288 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2289 FROM t1 2290 LEFT JOIN t2 USING(a) 2291 LEFT JOIN t3 USING(a) 2292 INNER JOIN t4 USING(a) 2293 FULL JOIN t5 USING(a) 2294 ORDER BY 1 NULLS FIRST; 2295 } { 2296 11 11 - 11 11 - 2297 15 15 15 15 15 15 2298 17 - - - - 17 2299 18 - - - - 18 2300 19 - - - - 19 2301 } 2302 do_execsql_test joinB-168 { 2303 SELECT b, c, d, e, f, g 2304 FROM t1 2305 NATURAL LEFT JOIN t2 2306 NATURAL LEFT JOIN t3 2307 NATURAL INNER JOIN t4 2308 NATURAL FULL JOIN t5 2309 WHERE b BETWEEN 12 AND 17 2310 ORDER BY 1 NULLS FIRST; 2311 } { 2312 } 2313 do_execsql_test joinB-169 { 2314 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2315 FROM t1 2316 LEFT JOIN t2 USING(a) 2317 LEFT JOIN t3 USING(a) 2318 LEFT JOIN t4 USING(a) 2319 INNER JOIN t5 USING(a) 2320 ORDER BY 1 NULLS FIRST; 2321 } { 2322 15 15 15 15 15 15 2323 17 17 - 17 - 17 2324 } 2325 do_execsql_test joinB-170 { 2326 SELECT a, c, d, e, f, g 2327 FROM t1 2328 LEFT JOIN t2 USING(a,b) 2329 LEFT JOIN t3 USING(a,b) 2330 LEFT JOIN t4 USING(a,b) 2331 INNER JOIN t5 USING(a,b) 2332 WHERE a<>13 2333 ORDER BY 1 NULLS FIRST; 2334 } { 2335 15 35 35 35 35 35 2336 17 37 - 37 - 37 2337 } 2338 do_execsql_test joinB-171 { 2339 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2340 FROM t1 2341 LEFT JOIN t2 USING(a) 2342 LEFT JOIN t3 USING(a) 2343 LEFT JOIN t4 USING(a) 2344 LEFT JOIN t5 USING(a) 2345 ORDER BY 1 NULLS FIRST; 2346 } { 2347 11 11 - 11 11 - 2348 12 12 12 12 - - 2349 15 15 15 15 15 15 2350 17 17 - 17 - 17 2351 } 2352 do_execsql_test joinB-172 { 2353 SELECT a, c, d, e, f, g 2354 FROM t1 2355 LEFT JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 2356 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 2357 WHERE a<=18 2358 ORDER BY 1 NULLS FIRST; 2359 } { 2360 11 31 - - 31 - 2361 12 32 32 32 - - 2362 15 35 35 35 35 35 2363 17 37 - - - - 2364 } 2365 do_execsql_test joinB-173 { 2366 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2367 FROM t1 2368 LEFT JOIN t2 USING(a) 2369 LEFT JOIN t3 USING(a) 2370 LEFT JOIN t4 USING(a) 2371 RIGHT JOIN t5 USING(a) 2372 ORDER BY 1 NULLS FIRST; 2373 } { 2374 15 15 15 15 15 15 2375 17 17 - 17 - 17 2376 18 - - - - 18 2377 19 - - - - 19 2378 } 2379 do_execsql_test joinB-174 { 2380 SELECT a, b, c, d, e, f, g 2381 FROM t1 2382 LEFT JOIN t2 USING(a,b) 2383 LEFT JOIN t3 USING(a,b) 2384 LEFT JOIN t4 USING(a,b) 2385 RIGHT JOIN t5 USING(a,b) 2386 WHERE d<>33 OR d IS NULL 2387 ORDER BY 1 NULLS FIRST; 2388 } { 2389 15 25 35 35 35 35 35 2390 17 27 37 - 37 - 37 2391 18 28 - - - - 38 2392 19 29 - - - - 39 2393 } 2394 do_execsql_test joinB-175 { 2395 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2396 FROM t1 2397 LEFT JOIN t2 USING(a) 2398 LEFT JOIN t3 USING(a) 2399 LEFT JOIN t4 USING(a) 2400 FULL JOIN t5 USING(a) 2401 ORDER BY 1 NULLS FIRST; 2402 } { 2403 11 11 - 11 11 - 2404 12 12 12 12 - - 2405 15 15 15 15 15 15 2406 17 17 - 17 - 17 2407 18 - - - - 18 2408 19 - - - - 19 2409 } 2410 do_execsql_test joinB-176 { 2411 SELECT b, c, d, e, f, g 2412 FROM t1 2413 NATURAL LEFT JOIN t2 2414 NATURAL LEFT JOIN t3 2415 NATURAL LEFT JOIN t4 2416 NATURAL FULL JOIN t5 2417 WHERE b BETWEEN 12 AND 17 2418 ORDER BY 1 NULLS FIRST; 2419 } { 2420 } 2421 do_execsql_test joinB-177 { 2422 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2423 FROM t1 2424 LEFT JOIN t2 USING(a) 2425 LEFT JOIN t3 USING(a) 2426 RIGHT JOIN t4 USING(a) 2427 INNER JOIN t5 USING(a) 2428 ORDER BY 1 NULLS FIRST; 2429 } { 2430 15 15 15 15 15 15 2431 19 - - - 19 19 2432 } 2433 do_execsql_test joinB-178 { 2434 SELECT a, c, d, e, f, g 2435 FROM t1 2436 LEFT JOIN t2 USING(a,b) 2437 LEFT JOIN t3 USING(a,b) 2438 RIGHT JOIN t4 USING(a,b) 2439 INNER JOIN t5 USING(a,b) 2440 WHERE a<>13 2441 ORDER BY 1 NULLS FIRST; 2442 } { 2443 15 35 35 35 35 35 2444 19 - - - 39 39 2445 } 2446 do_execsql_test joinB-179 { 2447 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2448 FROM t1 2449 LEFT JOIN t2 USING(a) 2450 LEFT JOIN t3 USING(a) 2451 RIGHT JOIN t4 USING(a) 2452 LEFT JOIN t5 USING(a) 2453 ORDER BY 1 NULLS FIRST; 2454 } { 2455 11 11 - 11 11 - 2456 13 - - - 13 - 2457 15 15 15 15 15 15 2458 19 - - - 19 19 2459 } 2460 do_execsql_test joinB-180 { 2461 SELECT a, c, d, e, f, g 2462 FROM t1 2463 LEFT JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 2464 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 2465 WHERE a<=18 2466 ORDER BY 1 NULLS FIRST; 2467 } { 2468 11 31 - - 31 - 2469 13 - - - 33 - 2470 15 35 35 35 35 35 2471 } 2472 do_execsql_test joinB-181 { 2473 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2474 FROM t1 2475 LEFT JOIN t2 USING(a) 2476 LEFT JOIN t3 USING(a) 2477 RIGHT JOIN t4 USING(a) 2478 RIGHT JOIN t5 USING(a) 2479 ORDER BY 1 NULLS FIRST; 2480 } { 2481 15 15 15 15 15 15 2482 17 - - - - 17 2483 18 - - - - 18 2484 19 - - - 19 19 2485 } 2486 do_execsql_test joinB-182 { 2487 SELECT a, b, c, d, e, f, g 2488 FROM t1 2489 LEFT JOIN t2 USING(a,b) 2490 LEFT JOIN t3 USING(a,b) 2491 RIGHT JOIN t4 USING(a,b) 2492 RIGHT JOIN t5 USING(a,b) 2493 WHERE d<>33 OR d IS NULL 2494 ORDER BY 1 NULLS FIRST; 2495 } { 2496 15 25 35 35 35 35 35 2497 17 27 - - - - 37 2498 18 28 - - - - 38 2499 19 29 - - - 39 39 2500 } 2501 do_execsql_test joinB-183 { 2502 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2503 FROM t1 2504 LEFT JOIN t2 USING(a) 2505 LEFT JOIN t3 USING(a) 2506 RIGHT JOIN t4 USING(a) 2507 FULL JOIN t5 USING(a) 2508 ORDER BY 1 NULLS FIRST; 2509 } { 2510 11 11 - 11 11 - 2511 13 - - - 13 - 2512 15 15 15 15 15 15 2513 17 - - - - 17 2514 18 - - - - 18 2515 19 - - - 19 19 2516 } 2517 do_execsql_test joinB-184 { 2518 SELECT b, c, d, e, f, g 2519 FROM t1 2520 NATURAL LEFT JOIN t2 2521 NATURAL LEFT JOIN t3 2522 NATURAL RIGHT JOIN t4 2523 NATURAL FULL JOIN t5 2524 WHERE b BETWEEN 12 AND 17 2525 ORDER BY 1 NULLS FIRST; 2526 } { 2527 } 2528 do_execsql_test joinB-185 { 2529 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2530 FROM t1 2531 LEFT JOIN t2 USING(a) 2532 LEFT JOIN t3 USING(a) 2533 FULL JOIN t4 USING(a) 2534 INNER JOIN t5 USING(a) 2535 ORDER BY 1 NULLS FIRST; 2536 } { 2537 15 15 15 15 15 15 2538 17 17 - 17 - 17 2539 19 - - - 19 19 2540 } 2541 do_execsql_test joinB-186 { 2542 SELECT a, c, d, e, f, g 2543 FROM t1 2544 LEFT JOIN t2 USING(a,b) 2545 LEFT JOIN t3 USING(a,b) 2546 FULL JOIN t4 USING(a,b) 2547 INNER JOIN t5 USING(a,b) 2548 WHERE a<>13 2549 ORDER BY 1 NULLS FIRST; 2550 } { 2551 15 35 35 35 35 35 2552 17 37 - 37 - 37 2553 19 - - - 39 39 2554 } 2555 do_execsql_test joinB-187 { 2556 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2557 FROM t1 2558 LEFT JOIN t2 USING(a) 2559 LEFT JOIN t3 USING(a) 2560 FULL JOIN t4 USING(a) 2561 LEFT JOIN t5 USING(a) 2562 ORDER BY 1 NULLS FIRST; 2563 } { 2564 11 11 - 11 11 - 2565 12 12 12 12 - - 2566 13 - - - 13 - 2567 15 15 15 15 15 15 2568 17 17 - 17 - 17 2569 19 - - - 19 19 2570 } 2571 do_execsql_test joinB-188 { 2572 SELECT a, c, d, e, f, g 2573 FROM t1 2574 LEFT JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 2575 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 2576 WHERE a<=18 2577 ORDER BY 1 NULLS FIRST; 2578 } { 2579 11 31 - - 31 - 2580 12 32 32 32 - - 2581 13 - - - 33 - 2582 15 35 35 35 35 35 2583 17 37 - - - - 2584 } 2585 do_execsql_test joinB-189 { 2586 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2587 FROM t1 2588 LEFT JOIN t2 USING(a) 2589 LEFT JOIN t3 USING(a) 2590 FULL JOIN t4 USING(a) 2591 RIGHT JOIN t5 USING(a) 2592 ORDER BY 1 NULLS FIRST; 2593 } { 2594 15 15 15 15 15 15 2595 17 17 - 17 - 17 2596 18 - - - - 18 2597 19 - - - 19 19 2598 } 2599 do_execsql_test joinB-190 { 2600 SELECT a, b, c, d, e, f, g 2601 FROM t1 2602 LEFT JOIN t2 USING(a,b) 2603 LEFT JOIN t3 USING(a,b) 2604 FULL JOIN t4 USING(a,b) 2605 RIGHT JOIN t5 USING(a,b) 2606 WHERE d<>33 OR d IS NULL 2607 ORDER BY 1 NULLS FIRST; 2608 } { 2609 15 25 35 35 35 35 35 2610 17 27 37 - 37 - 37 2611 18 28 - - - - 38 2612 19 29 - - - 39 39 2613 } 2614 do_execsql_test joinB-191 { 2615 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2616 FROM t1 2617 LEFT JOIN t2 USING(a) 2618 LEFT JOIN t3 USING(a) 2619 FULL JOIN t4 USING(a) 2620 FULL JOIN t5 USING(a) 2621 ORDER BY 1 NULLS FIRST; 2622 } { 2623 11 11 - 11 11 - 2624 12 12 12 12 - - 2625 13 - - - 13 - 2626 15 15 15 15 15 15 2627 17 17 - 17 - 17 2628 18 - - - - 18 2629 19 - - - 19 19 2630 } 2631 do_execsql_test joinB-192 { 2632 SELECT b, c, d, e, f, g 2633 FROM t1 2634 NATURAL LEFT JOIN t2 2635 NATURAL LEFT JOIN t3 2636 NATURAL FULL JOIN t4 2637 NATURAL FULL JOIN t5 2638 WHERE b BETWEEN 12 AND 17 2639 ORDER BY 1 NULLS FIRST; 2640 } { 2641 } 2642 do_execsql_test joinB-193 { 2643 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2644 FROM t1 2645 LEFT JOIN t2 USING(a) 2646 RIGHT JOIN t3 USING(a) 2647 INNER JOIN t4 USING(a) 2648 INNER JOIN t5 USING(a) 2649 ORDER BY 1 NULLS FIRST; 2650 } { 2651 15 15 15 15 15 15 2652 19 - - 19 19 19 2653 } 2654 do_execsql_test joinB-194 { 2655 SELECT a, c, d, e, f, g 2656 FROM t1 2657 LEFT JOIN t2 USING(a,b) 2658 RIGHT JOIN t3 USING(a,b) 2659 INNER JOIN t4 USING(a,b) 2660 INNER JOIN t5 USING(a,b) 2661 WHERE a<>13 2662 ORDER BY 1 NULLS FIRST; 2663 } { 2664 15 35 35 35 35 35 2665 19 - - 39 39 39 2666 } 2667 do_execsql_test joinB-195 { 2668 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2669 FROM t1 2670 LEFT JOIN t2 USING(a) 2671 RIGHT JOIN t3 USING(a) 2672 INNER JOIN t4 USING(a) 2673 LEFT JOIN t5 USING(a) 2674 ORDER BY 1 NULLS FIRST; 2675 } { 2676 11 11 - 11 11 - 2677 13 - - 13 13 - 2678 15 15 15 15 15 15 2679 19 - - 19 19 19 2680 } 2681 do_execsql_test joinB-196 { 2682 SELECT a, c, d, e, f, g 2683 FROM t1 2684 LEFT JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 2685 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 2686 WHERE a<=18 2687 ORDER BY 1 NULLS FIRST; 2688 } { 2689 11 31 - 31 31 - 2690 15 35 35 35 35 35 2691 } 2692 do_execsql_test joinB-197 { 2693 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2694 FROM t1 2695 LEFT JOIN t2 USING(a) 2696 RIGHT JOIN t3 USING(a) 2697 INNER JOIN t4 USING(a) 2698 RIGHT JOIN t5 USING(a) 2699 ORDER BY 1 NULLS FIRST; 2700 } { 2701 15 15 15 15 15 15 2702 17 - - - - 17 2703 18 - - - - 18 2704 19 - - 19 19 19 2705 } 2706 do_execsql_test joinB-198 { 2707 SELECT a, b, c, d, e, f, g 2708 FROM t1 2709 LEFT JOIN t2 USING(a,b) 2710 RIGHT JOIN t3 USING(a,b) 2711 INNER JOIN t4 USING(a,b) 2712 RIGHT JOIN t5 USING(a,b) 2713 WHERE d<>33 OR d IS NULL 2714 ORDER BY 1 NULLS FIRST; 2715 } { 2716 15 25 35 35 35 35 35 2717 17 27 - - - - 37 2718 18 28 - - - - 38 2719 19 29 - - 39 39 39 2720 } 2721 do_execsql_test joinB-199 { 2722 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2723 FROM t1 2724 LEFT JOIN t2 USING(a) 2725 RIGHT JOIN t3 USING(a) 2726 INNER JOIN t4 USING(a) 2727 FULL JOIN t5 USING(a) 2728 ORDER BY 1 NULLS FIRST; 2729 } { 2730 11 11 - 11 11 - 2731 13 - - 13 13 - 2732 15 15 15 15 15 15 2733 17 - - - - 17 2734 18 - - - - 18 2735 19 - - 19 19 19 2736 } 2737 do_execsql_test joinB-200 { 2738 SELECT b, c, d, e, f, g 2739 FROM t1 2740 NATURAL LEFT JOIN t2 2741 NATURAL RIGHT JOIN t3 2742 NATURAL INNER JOIN t4 2743 NATURAL FULL JOIN t5 2744 WHERE b BETWEEN 12 AND 17 2745 ORDER BY 1 NULLS FIRST; 2746 } { 2747 } 2748 do_execsql_test joinB-201 { 2749 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2750 FROM t1 2751 LEFT JOIN t2 USING(a) 2752 RIGHT JOIN t3 USING(a) 2753 LEFT JOIN t4 USING(a) 2754 INNER JOIN t5 USING(a) 2755 ORDER BY 1 NULLS FIRST; 2756 } { 2757 15 15 15 15 15 15 2758 17 17 - 17 - 17 2759 18 - - 18 - 18 2760 19 - - 19 19 19 2761 } 2762 do_execsql_test joinB-202 { 2763 SELECT a, c, d, e, f, g 2764 FROM t1 2765 LEFT JOIN t2 USING(a,b) 2766 RIGHT JOIN t3 USING(a,b) 2767 LEFT JOIN t4 USING(a,b) 2768 INNER JOIN t5 USING(a,b) 2769 WHERE a<>13 2770 ORDER BY 1 NULLS FIRST; 2771 } { 2772 15 35 35 35 35 35 2773 17 37 - 37 - 37 2774 18 - - 38 - 38 2775 19 - - 39 39 39 2776 } 2777 do_execsql_test joinB-203 { 2778 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2779 FROM t1 2780 LEFT JOIN t2 USING(a) 2781 RIGHT JOIN t3 USING(a) 2782 LEFT JOIN t4 USING(a) 2783 LEFT JOIN t5 USING(a) 2784 ORDER BY 1 NULLS FIRST; 2785 } { 2786 - - - - - - 2787 11 11 - 11 11 - 2788 12 12 12 12 - - 2789 13 - - 13 13 - 2790 15 15 15 15 15 15 2791 17 17 - 17 - 17 2792 18 - - 18 - 18 2793 19 - - 19 19 19 2794 } 2795 do_execsql_test joinB-204 { 2796 SELECT a, c, d, e, f, g 2797 FROM t1 2798 LEFT JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 2799 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 2800 WHERE a<=18 2801 ORDER BY 1 NULLS FIRST; 2802 } { 2803 11 31 - 31 31 - 2804 12 32 32 32 - - 2805 15 35 35 35 35 35 2806 17 37 - 37 - - 2807 } 2808 do_execsql_test joinB-205 { 2809 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2810 FROM t1 2811 LEFT JOIN t2 USING(a) 2812 RIGHT JOIN t3 USING(a) 2813 LEFT JOIN t4 USING(a) 2814 RIGHT JOIN t5 USING(a) 2815 ORDER BY 1 NULLS FIRST; 2816 } { 2817 15 15 15 15 15 15 2818 17 17 - 17 - 17 2819 18 - - 18 - 18 2820 19 - - 19 19 19 2821 } 2822 do_execsql_test joinB-206 { 2823 SELECT a, b, c, d, e, f, g 2824 FROM t1 2825 LEFT JOIN t2 USING(a,b) 2826 RIGHT JOIN t3 USING(a,b) 2827 LEFT JOIN t4 USING(a,b) 2828 RIGHT JOIN t5 USING(a,b) 2829 WHERE d<>33 OR d IS NULL 2830 ORDER BY 1 NULLS FIRST; 2831 } { 2832 15 25 35 35 35 35 35 2833 17 27 37 - 37 - 37 2834 18 28 - - 38 - 38 2835 19 29 - - 39 39 39 2836 } 2837 do_execsql_test joinB-207 { 2838 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2839 FROM t1 2840 LEFT JOIN t2 USING(a) 2841 RIGHT JOIN t3 USING(a) 2842 LEFT JOIN t4 USING(a) 2843 FULL JOIN t5 USING(a) 2844 ORDER BY 1 NULLS FIRST; 2845 } { 2846 - - - - - - 2847 11 11 - 11 11 - 2848 12 12 12 12 - - 2849 13 - - 13 13 - 2850 15 15 15 15 15 15 2851 17 17 - 17 - 17 2852 18 - - 18 - 18 2853 19 - - 19 19 19 2854 } 2855 do_execsql_test joinB-208 { 2856 SELECT b, c, d, e, f, g 2857 FROM t1 2858 NATURAL LEFT JOIN t2 2859 NATURAL RIGHT JOIN t3 2860 NATURAL LEFT JOIN t4 2861 NATURAL FULL JOIN t5 2862 WHERE b BETWEEN 12 AND 17 2863 ORDER BY 1 NULLS FIRST; 2864 } { 2865 } 2866 do_execsql_test joinB-209 { 2867 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2868 FROM t1 2869 LEFT JOIN t2 USING(a) 2870 RIGHT JOIN t3 USING(a) 2871 RIGHT JOIN t4 USING(a) 2872 INNER JOIN t5 USING(a) 2873 ORDER BY 1 NULLS FIRST; 2874 } { 2875 15 15 15 15 15 15 2876 19 - - 19 19 19 2877 } 2878 do_execsql_test joinB-210 { 2879 SELECT a, c, d, e, f, g 2880 FROM t1 2881 LEFT JOIN t2 USING(a,b) 2882 RIGHT JOIN t3 USING(a,b) 2883 RIGHT JOIN t4 USING(a,b) 2884 INNER JOIN t5 USING(a,b) 2885 WHERE a<>13 2886 ORDER BY 1 NULLS FIRST; 2887 } { 2888 15 35 35 35 35 35 2889 19 - - 39 39 39 2890 } 2891 do_execsql_test joinB-211 { 2892 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2893 FROM t1 2894 LEFT JOIN t2 USING(a) 2895 RIGHT JOIN t3 USING(a) 2896 RIGHT JOIN t4 USING(a) 2897 LEFT JOIN t5 USING(a) 2898 ORDER BY 1 NULLS FIRST; 2899 } { 2900 11 11 - 11 11 - 2901 13 - - 13 13 - 2902 15 15 15 15 15 15 2903 19 - - 19 19 19 2904 } 2905 do_execsql_test joinB-212 { 2906 SELECT a, c, d, e, f, g 2907 FROM t1 2908 LEFT JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 2909 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 2910 WHERE a<=18 2911 ORDER BY 1 NULLS FIRST; 2912 } { 2913 11 31 - 31 31 - 2914 13 - - - 33 - 2915 15 35 35 35 35 35 2916 } 2917 do_execsql_test joinB-213 { 2918 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2919 FROM t1 2920 LEFT JOIN t2 USING(a) 2921 RIGHT JOIN t3 USING(a) 2922 RIGHT JOIN t4 USING(a) 2923 RIGHT JOIN t5 USING(a) 2924 ORDER BY 1 NULLS FIRST; 2925 } { 2926 15 15 15 15 15 15 2927 17 - - - - 17 2928 18 - - - - 18 2929 19 - - 19 19 19 2930 } 2931 do_execsql_test joinB-214 { 2932 SELECT a, b, c, d, e, f, g 2933 FROM t1 2934 LEFT JOIN t2 USING(a,b) 2935 RIGHT JOIN t3 USING(a,b) 2936 RIGHT JOIN t4 USING(a,b) 2937 RIGHT JOIN t5 USING(a,b) 2938 WHERE d<>33 OR d IS NULL 2939 ORDER BY 1 NULLS FIRST; 2940 } { 2941 15 25 35 35 35 35 35 2942 17 27 - - - - 37 2943 18 28 - - - - 38 2944 19 29 - - 39 39 39 2945 } 2946 do_execsql_test joinB-215 { 2947 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2948 FROM t1 2949 LEFT JOIN t2 USING(a) 2950 RIGHT JOIN t3 USING(a) 2951 RIGHT JOIN t4 USING(a) 2952 FULL JOIN t5 USING(a) 2953 ORDER BY 1 NULLS FIRST; 2954 } { 2955 11 11 - 11 11 - 2956 13 - - 13 13 - 2957 15 15 15 15 15 15 2958 17 - - - - 17 2959 18 - - - - 18 2960 19 - - 19 19 19 2961 } 2962 do_execsql_test joinB-216 { 2963 SELECT b, c, d, e, f, g 2964 FROM t1 2965 NATURAL LEFT JOIN t2 2966 NATURAL RIGHT JOIN t3 2967 NATURAL RIGHT JOIN t4 2968 NATURAL FULL JOIN t5 2969 WHERE b BETWEEN 12 AND 17 2970 ORDER BY 1 NULLS FIRST; 2971 } { 2972 } 2973 do_execsql_test joinB-217 { 2974 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 2975 FROM t1 2976 LEFT JOIN t2 USING(a) 2977 RIGHT JOIN t3 USING(a) 2978 FULL JOIN t4 USING(a) 2979 INNER JOIN t5 USING(a) 2980 ORDER BY 1 NULLS FIRST; 2981 } { 2982 15 15 15 15 15 15 2983 17 17 - 17 - 17 2984 18 - - 18 - 18 2985 19 - - 19 19 19 2986 } 2987 do_execsql_test joinB-218 { 2988 SELECT a, c, d, e, f, g 2989 FROM t1 2990 LEFT JOIN t2 USING(a,b) 2991 RIGHT JOIN t3 USING(a,b) 2992 FULL JOIN t4 USING(a,b) 2993 INNER JOIN t5 USING(a,b) 2994 WHERE a<>13 2995 ORDER BY 1 NULLS FIRST; 2996 } { 2997 15 35 35 35 35 35 2998 17 37 - 37 - 37 2999 18 - - 38 - 38 3000 19 - - 39 39 39 3001 } 3002 do_execsql_test joinB-219 { 3003 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3004 FROM t1 3005 LEFT JOIN t2 USING(a) 3006 RIGHT JOIN t3 USING(a) 3007 FULL JOIN t4 USING(a) 3008 LEFT JOIN t5 USING(a) 3009 ORDER BY 1 NULLS FIRST; 3010 } { 3011 - - - - - - 3012 11 11 - 11 11 - 3013 12 12 12 12 - - 3014 13 - - 13 13 - 3015 15 15 15 15 15 15 3016 17 17 - 17 - 17 3017 18 - - 18 - 18 3018 19 - - 19 19 19 3019 } 3020 do_execsql_test joinB-220 { 3021 SELECT a, c, d, e, f, g 3022 FROM t1 3023 LEFT JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 3024 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 3025 WHERE a<=18 3026 ORDER BY 1 NULLS FIRST; 3027 } { 3028 11 31 - 31 31 - 3029 12 32 32 32 - - 3030 13 - - - 33 - 3031 15 35 35 35 35 35 3032 17 37 - 37 - - 3033 } 3034 do_execsql_test joinB-221 { 3035 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3036 FROM t1 3037 LEFT JOIN t2 USING(a) 3038 RIGHT JOIN t3 USING(a) 3039 FULL JOIN t4 USING(a) 3040 RIGHT JOIN t5 USING(a) 3041 ORDER BY 1 NULLS FIRST; 3042 } { 3043 15 15 15 15 15 15 3044 17 17 - 17 - 17 3045 18 - - 18 - 18 3046 19 - - 19 19 19 3047 } 3048 do_execsql_test joinB-222 { 3049 SELECT a, b, c, d, e, f, g 3050 FROM t1 3051 LEFT JOIN t2 USING(a,b) 3052 RIGHT JOIN t3 USING(a,b) 3053 FULL JOIN t4 USING(a,b) 3054 RIGHT JOIN t5 USING(a,b) 3055 WHERE d<>33 OR d IS NULL 3056 ORDER BY 1 NULLS FIRST; 3057 } { 3058 15 25 35 35 35 35 35 3059 17 27 37 - 37 - 37 3060 18 28 - - 38 - 38 3061 19 29 - - 39 39 39 3062 } 3063 do_execsql_test joinB-223 { 3064 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3065 FROM t1 3066 LEFT JOIN t2 USING(a) 3067 RIGHT JOIN t3 USING(a) 3068 FULL JOIN t4 USING(a) 3069 FULL JOIN t5 USING(a) 3070 ORDER BY 1 NULLS FIRST; 3071 } { 3072 - - - - - - 3073 11 11 - 11 11 - 3074 12 12 12 12 - - 3075 13 - - 13 13 - 3076 15 15 15 15 15 15 3077 17 17 - 17 - 17 3078 18 - - 18 - 18 3079 19 - - 19 19 19 3080 } 3081 do_execsql_test joinB-224 { 3082 SELECT b, c, d, e, f, g 3083 FROM t1 3084 NATURAL LEFT JOIN t2 3085 NATURAL RIGHT JOIN t3 3086 NATURAL FULL JOIN t4 3087 NATURAL FULL JOIN t5 3088 WHERE b BETWEEN 12 AND 17 3089 ORDER BY 1 NULLS FIRST; 3090 } { 3091 } 3092 do_execsql_test joinB-225 { 3093 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3094 FROM t1 3095 LEFT JOIN t2 USING(a) 3096 FULL JOIN t3 USING(a) 3097 INNER JOIN t4 USING(a) 3098 INNER JOIN t5 USING(a) 3099 ORDER BY 1 NULLS FIRST; 3100 } { 3101 15 15 15 15 15 15 3102 19 - - 19 19 19 3103 } 3104 do_execsql_test joinB-226 { 3105 SELECT a, c, d, e, f, g 3106 FROM t1 3107 LEFT JOIN t2 USING(a,b) 3108 FULL JOIN t3 USING(a,b) 3109 INNER JOIN t4 USING(a,b) 3110 INNER JOIN t5 USING(a,b) 3111 WHERE a<>13 3112 ORDER BY 1 NULLS FIRST; 3113 } { 3114 15 35 35 35 35 35 3115 19 - - 39 39 39 3116 } 3117 do_execsql_test joinB-227 { 3118 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3119 FROM t1 3120 LEFT JOIN t2 USING(a) 3121 FULL JOIN t3 USING(a) 3122 INNER JOIN t4 USING(a) 3123 LEFT JOIN t5 USING(a) 3124 ORDER BY 1 NULLS FIRST; 3125 } { 3126 11 11 - 11 11 - 3127 13 - - 13 13 - 3128 15 15 15 15 15 15 3129 19 - - 19 19 19 3130 } 3131 do_execsql_test joinB-228 { 3132 SELECT a, c, d, e, f, g 3133 FROM t1 3134 LEFT JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 3135 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 3136 WHERE a<=18 3137 ORDER BY 1 NULLS FIRST; 3138 } { 3139 11 31 - 31 31 - 3140 15 35 35 35 35 35 3141 } 3142 do_execsql_test joinB-229 { 3143 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3144 FROM t1 3145 LEFT JOIN t2 USING(a) 3146 FULL JOIN t3 USING(a) 3147 INNER JOIN t4 USING(a) 3148 RIGHT JOIN t5 USING(a) 3149 ORDER BY 1 NULLS FIRST; 3150 } { 3151 15 15 15 15 15 15 3152 17 - - - - 17 3153 18 - - - - 18 3154 19 - - 19 19 19 3155 } 3156 do_execsql_test joinB-230 { 3157 SELECT a, b, c, d, e, f, g 3158 FROM t1 3159 LEFT JOIN t2 USING(a,b) 3160 FULL JOIN t3 USING(a,b) 3161 INNER JOIN t4 USING(a,b) 3162 RIGHT JOIN t5 USING(a,b) 3163 WHERE d<>33 OR d IS NULL 3164 ORDER BY 1 NULLS FIRST; 3165 } { 3166 15 25 35 35 35 35 35 3167 17 27 - - - - 37 3168 18 28 - - - - 38 3169 19 29 - - 39 39 39 3170 } 3171 do_execsql_test joinB-231 { 3172 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3173 FROM t1 3174 LEFT JOIN t2 USING(a) 3175 FULL JOIN t3 USING(a) 3176 INNER JOIN t4 USING(a) 3177 FULL JOIN t5 USING(a) 3178 ORDER BY 1 NULLS FIRST; 3179 } { 3180 11 11 - 11 11 - 3181 13 - - 13 13 - 3182 15 15 15 15 15 15 3183 17 - - - - 17 3184 18 - - - - 18 3185 19 - - 19 19 19 3186 } 3187 do_execsql_test joinB-232 { 3188 SELECT b, c, d, e, f, g 3189 FROM t1 3190 NATURAL LEFT JOIN t2 3191 NATURAL FULL JOIN t3 3192 NATURAL INNER JOIN t4 3193 NATURAL FULL JOIN t5 3194 WHERE b BETWEEN 12 AND 17 3195 ORDER BY 1 NULLS FIRST; 3196 } { 3197 } 3198 do_execsql_test joinB-233 { 3199 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3200 FROM t1 3201 LEFT JOIN t2 USING(a) 3202 FULL JOIN t3 USING(a) 3203 LEFT JOIN t4 USING(a) 3204 INNER JOIN t5 USING(a) 3205 ORDER BY 1 NULLS FIRST; 3206 } { 3207 15 15 15 15 15 15 3208 17 17 - 17 - 17 3209 18 - - 18 - 18 3210 19 - - 19 19 19 3211 } 3212 do_execsql_test joinB-234 { 3213 SELECT a, c, d, e, f, g 3214 FROM t1 3215 LEFT JOIN t2 USING(a,b) 3216 FULL JOIN t3 USING(a,b) 3217 LEFT JOIN t4 USING(a,b) 3218 INNER JOIN t5 USING(a,b) 3219 WHERE a<>13 3220 ORDER BY 1 NULLS FIRST; 3221 } { 3222 15 35 35 35 35 35 3223 17 37 - 37 - 37 3224 18 - - 38 - 38 3225 19 - - 39 39 39 3226 } 3227 do_execsql_test joinB-235 { 3228 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3229 FROM t1 3230 LEFT JOIN t2 USING(a) 3231 FULL JOIN t3 USING(a) 3232 LEFT JOIN t4 USING(a) 3233 LEFT JOIN t5 USING(a) 3234 ORDER BY 1 NULLS FIRST; 3235 } { 3236 - - - - - - 3237 11 11 - 11 11 - 3238 12 12 12 12 - - 3239 13 - - 13 13 - 3240 15 15 15 15 15 15 3241 17 17 - 17 - 17 3242 18 - - 18 - 18 3243 19 - - 19 19 19 3244 } 3245 do_execsql_test joinB-236 { 3246 SELECT a, c, d, e, f, g 3247 FROM t1 3248 LEFT JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 3249 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 3250 WHERE a<=18 3251 ORDER BY 1 NULLS FIRST; 3252 } { 3253 11 31 - 31 31 - 3254 12 32 32 32 - - 3255 15 35 35 35 35 35 3256 17 37 - 37 - - 3257 } 3258 do_execsql_test joinB-237 { 3259 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3260 FROM t1 3261 LEFT JOIN t2 USING(a) 3262 FULL JOIN t3 USING(a) 3263 LEFT JOIN t4 USING(a) 3264 RIGHT JOIN t5 USING(a) 3265 ORDER BY 1 NULLS FIRST; 3266 } { 3267 15 15 15 15 15 15 3268 17 17 - 17 - 17 3269 18 - - 18 - 18 3270 19 - - 19 19 19 3271 } 3272 do_execsql_test joinB-238 { 3273 SELECT a, b, c, d, e, f, g 3274 FROM t1 3275 LEFT JOIN t2 USING(a,b) 3276 FULL JOIN t3 USING(a,b) 3277 LEFT JOIN t4 USING(a,b) 3278 RIGHT JOIN t5 USING(a,b) 3279 WHERE d<>33 OR d IS NULL 3280 ORDER BY 1 NULLS FIRST; 3281 } { 3282 15 25 35 35 35 35 35 3283 17 27 37 - 37 - 37 3284 18 28 - - 38 - 38 3285 19 29 - - 39 39 39 3286 } 3287 do_execsql_test joinB-239 { 3288 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3289 FROM t1 3290 LEFT JOIN t2 USING(a) 3291 FULL JOIN t3 USING(a) 3292 LEFT JOIN t4 USING(a) 3293 FULL JOIN t5 USING(a) 3294 ORDER BY 1 NULLS FIRST; 3295 } { 3296 - - - - - - 3297 11 11 - 11 11 - 3298 12 12 12 12 - - 3299 13 - - 13 13 - 3300 15 15 15 15 15 15 3301 17 17 - 17 - 17 3302 18 - - 18 - 18 3303 19 - - 19 19 19 3304 } 3305 do_execsql_test joinB-240 { 3306 SELECT b, c, d, e, f, g 3307 FROM t1 3308 NATURAL LEFT JOIN t2 3309 NATURAL FULL JOIN t3 3310 NATURAL LEFT JOIN t4 3311 NATURAL FULL JOIN t5 3312 WHERE b BETWEEN 12 AND 17 3313 ORDER BY 1 NULLS FIRST; 3314 } { 3315 } 3316 do_execsql_test joinB-241 { 3317 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3318 FROM t1 3319 LEFT JOIN t2 USING(a) 3320 FULL JOIN t3 USING(a) 3321 RIGHT JOIN t4 USING(a) 3322 INNER JOIN t5 USING(a) 3323 ORDER BY 1 NULLS FIRST; 3324 } { 3325 15 15 15 15 15 15 3326 19 - - 19 19 19 3327 } 3328 do_execsql_test joinB-242 { 3329 SELECT a, c, d, e, f, g 3330 FROM t1 3331 LEFT JOIN t2 USING(a,b) 3332 FULL JOIN t3 USING(a,b) 3333 RIGHT JOIN t4 USING(a,b) 3334 INNER JOIN t5 USING(a,b) 3335 WHERE a<>13 3336 ORDER BY 1 NULLS FIRST; 3337 } { 3338 15 35 35 35 35 35 3339 19 - - 39 39 39 3340 } 3341 do_execsql_test joinB-243 { 3342 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3343 FROM t1 3344 LEFT JOIN t2 USING(a) 3345 FULL JOIN t3 USING(a) 3346 RIGHT JOIN t4 USING(a) 3347 LEFT JOIN t5 USING(a) 3348 ORDER BY 1 NULLS FIRST; 3349 } { 3350 11 11 - 11 11 - 3351 13 - - 13 13 - 3352 15 15 15 15 15 15 3353 19 - - 19 19 19 3354 } 3355 do_execsql_test joinB-244 { 3356 SELECT a, c, d, e, f, g 3357 FROM t1 3358 LEFT JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 3359 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 3360 WHERE a<=18 3361 ORDER BY 1 NULLS FIRST; 3362 } { 3363 11 31 - 31 31 - 3364 13 - - - 33 - 3365 15 35 35 35 35 35 3366 } 3367 do_execsql_test joinB-245 { 3368 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3369 FROM t1 3370 LEFT JOIN t2 USING(a) 3371 FULL JOIN t3 USING(a) 3372 RIGHT JOIN t4 USING(a) 3373 RIGHT JOIN t5 USING(a) 3374 ORDER BY 1 NULLS FIRST; 3375 } { 3376 15 15 15 15 15 15 3377 17 - - - - 17 3378 18 - - - - 18 3379 19 - - 19 19 19 3380 } 3381 do_execsql_test joinB-246 { 3382 SELECT a, b, c, d, e, f, g 3383 FROM t1 3384 LEFT JOIN t2 USING(a,b) 3385 FULL JOIN t3 USING(a,b) 3386 RIGHT JOIN t4 USING(a,b) 3387 RIGHT JOIN t5 USING(a,b) 3388 WHERE d<>33 OR d IS NULL 3389 ORDER BY 1 NULLS FIRST; 3390 } { 3391 15 25 35 35 35 35 35 3392 17 27 - - - - 37 3393 18 28 - - - - 38 3394 19 29 - - 39 39 39 3395 } 3396 do_execsql_test joinB-247 { 3397 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3398 FROM t1 3399 LEFT JOIN t2 USING(a) 3400 FULL JOIN t3 USING(a) 3401 RIGHT JOIN t4 USING(a) 3402 FULL JOIN t5 USING(a) 3403 ORDER BY 1 NULLS FIRST; 3404 } { 3405 11 11 - 11 11 - 3406 13 - - 13 13 - 3407 15 15 15 15 15 15 3408 17 - - - - 17 3409 18 - - - - 18 3410 19 - - 19 19 19 3411 } 3412 do_execsql_test joinB-248 { 3413 SELECT b, c, d, e, f, g 3414 FROM t1 3415 NATURAL LEFT JOIN t2 3416 NATURAL FULL JOIN t3 3417 NATURAL RIGHT JOIN t4 3418 NATURAL FULL JOIN t5 3419 WHERE b BETWEEN 12 AND 17 3420 ORDER BY 1 NULLS FIRST; 3421 } { 3422 } 3423 do_execsql_test joinB-249 { 3424 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3425 FROM t1 3426 LEFT JOIN t2 USING(a) 3427 FULL JOIN t3 USING(a) 3428 FULL JOIN t4 USING(a) 3429 INNER JOIN t5 USING(a) 3430 ORDER BY 1 NULLS FIRST; 3431 } { 3432 15 15 15 15 15 15 3433 17 17 - 17 - 17 3434 18 - - 18 - 18 3435 19 - - 19 19 19 3436 } 3437 do_execsql_test joinB-250 { 3438 SELECT a, c, d, e, f, g 3439 FROM t1 3440 LEFT JOIN t2 USING(a,b) 3441 FULL JOIN t3 USING(a,b) 3442 FULL JOIN t4 USING(a,b) 3443 INNER JOIN t5 USING(a,b) 3444 WHERE a<>13 3445 ORDER BY 1 NULLS FIRST; 3446 } { 3447 15 35 35 35 35 35 3448 17 37 - 37 - 37 3449 18 - - 38 - 38 3450 19 - - 39 39 39 3451 } 3452 do_execsql_test joinB-251 { 3453 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3454 FROM t1 3455 LEFT JOIN t2 USING(a) 3456 FULL JOIN t3 USING(a) 3457 FULL JOIN t4 USING(a) 3458 LEFT JOIN t5 USING(a) 3459 ORDER BY 1 NULLS FIRST; 3460 } { 3461 - - - - - - 3462 11 11 - 11 11 - 3463 12 12 12 12 - - 3464 13 - - 13 13 - 3465 15 15 15 15 15 15 3466 17 17 - 17 - 17 3467 18 - - 18 - 18 3468 19 - - 19 19 19 3469 } 3470 do_execsql_test joinB-252 { 3471 SELECT a, c, d, e, f, g 3472 FROM t1 3473 LEFT JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 3474 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 3475 WHERE a<=18 3476 ORDER BY 1 NULLS FIRST; 3477 } { 3478 11 31 - 31 31 - 3479 12 32 32 32 - - 3480 13 - - - 33 - 3481 15 35 35 35 35 35 3482 17 37 - 37 - - 3483 } 3484 do_execsql_test joinB-253 { 3485 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3486 FROM t1 3487 LEFT JOIN t2 USING(a) 3488 FULL JOIN t3 USING(a) 3489 FULL JOIN t4 USING(a) 3490 RIGHT JOIN t5 USING(a) 3491 ORDER BY 1 NULLS FIRST; 3492 } { 3493 15 15 15 15 15 15 3494 17 17 - 17 - 17 3495 18 - - 18 - 18 3496 19 - - 19 19 19 3497 } 3498 do_execsql_test joinB-254 { 3499 SELECT a, b, c, d, e, f, g 3500 FROM t1 3501 LEFT JOIN t2 USING(a,b) 3502 FULL JOIN t3 USING(a,b) 3503 FULL JOIN t4 USING(a,b) 3504 RIGHT JOIN t5 USING(a,b) 3505 WHERE d<>33 OR d IS NULL 3506 ORDER BY 1 NULLS FIRST; 3507 } { 3508 15 25 35 35 35 35 35 3509 17 27 37 - 37 - 37 3510 18 28 - - 38 - 38 3511 19 29 - - 39 39 39 3512 } 3513 do_execsql_test joinB-255 { 3514 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3515 FROM t1 3516 LEFT JOIN t2 USING(a) 3517 FULL JOIN t3 USING(a) 3518 FULL JOIN t4 USING(a) 3519 FULL JOIN t5 USING(a) 3520 ORDER BY 1 NULLS FIRST; 3521 } { 3522 - - - - - - 3523 11 11 - 11 11 - 3524 12 12 12 12 - - 3525 13 - - 13 13 - 3526 15 15 15 15 15 15 3527 17 17 - 17 - 17 3528 18 - - 18 - 18 3529 19 - - 19 19 19 3530 } 3531 do_execsql_test joinB-256 { 3532 SELECT b, c, d, e, f, g 3533 FROM t1 3534 NATURAL LEFT JOIN t2 3535 NATURAL FULL JOIN t3 3536 NATURAL FULL JOIN t4 3537 NATURAL FULL JOIN t5 3538 WHERE b BETWEEN 12 AND 17 3539 ORDER BY 1 NULLS FIRST; 3540 } { 3541 } 3542 do_execsql_test joinB-257 { 3543 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3544 FROM t1 3545 RIGHT JOIN t2 USING(a) 3546 INNER JOIN t3 USING(a) 3547 INNER JOIN t4 USING(a) 3548 INNER JOIN t5 USING(a) 3549 ORDER BY 1 NULLS FIRST; 3550 } { 3551 15 15 15 15 15 15 3552 } 3553 do_execsql_test joinB-258 { 3554 SELECT a, c, d, e, f, g 3555 FROM t1 3556 RIGHT JOIN t2 USING(a,b) 3557 INNER JOIN t3 USING(a,b) 3558 INNER JOIN t4 USING(a,b) 3559 INNER JOIN t5 USING(a,b) 3560 WHERE a<>13 3561 ORDER BY 1 NULLS FIRST; 3562 } { 3563 15 35 35 35 35 35 3564 } 3565 do_execsql_test joinB-259 { 3566 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3567 FROM t1 3568 RIGHT JOIN t2 USING(a) 3569 INNER JOIN t3 USING(a) 3570 INNER JOIN t4 USING(a) 3571 LEFT JOIN t5 USING(a) 3572 ORDER BY 1 NULLS FIRST; 3573 } { 3574 13 - 13 13 13 - 3575 15 15 15 15 15 15 3576 } 3577 do_execsql_test joinB-260 { 3578 SELECT a, c, d, e, f, g 3579 FROM t1 3580 RIGHT JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 3581 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 3582 WHERE a<=18 3583 ORDER BY 1 NULLS FIRST; 3584 } { 3585 13 - 33 33 33 - 3586 15 35 35 35 35 35 3587 } 3588 do_execsql_test joinB-261 { 3589 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3590 FROM t1 3591 RIGHT JOIN t2 USING(a) 3592 INNER JOIN t3 USING(a) 3593 INNER JOIN t4 USING(a) 3594 RIGHT JOIN t5 USING(a) 3595 ORDER BY 1 NULLS FIRST; 3596 } { 3597 15 15 15 15 15 15 3598 17 - - - - 17 3599 18 - - - - 18 3600 19 - - - - 19 3601 } 3602 do_execsql_test joinB-262 { 3603 SELECT a, b, c, d, e, f, g 3604 FROM t1 3605 RIGHT JOIN t2 USING(a,b) 3606 INNER JOIN t3 USING(a,b) 3607 INNER JOIN t4 USING(a,b) 3608 RIGHT JOIN t5 USING(a,b) 3609 WHERE d<>33 OR d IS NULL 3610 ORDER BY 1 NULLS FIRST; 3611 } { 3612 15 25 35 35 35 35 35 3613 17 27 - - - - 37 3614 18 28 - - - - 38 3615 19 29 - - - - 39 3616 } 3617 do_execsql_test joinB-263 { 3618 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3619 FROM t1 3620 RIGHT JOIN t2 USING(a) 3621 INNER JOIN t3 USING(a) 3622 INNER JOIN t4 USING(a) 3623 FULL JOIN t5 USING(a) 3624 ORDER BY 1 NULLS FIRST; 3625 } { 3626 13 - 13 13 13 - 3627 15 15 15 15 15 15 3628 17 - - - - 17 3629 18 - - - - 18 3630 19 - - - - 19 3631 } 3632 do_execsql_test joinB-264 { 3633 SELECT b, c, d, e, f, g 3634 FROM t1 3635 NATURAL RIGHT JOIN t2 3636 NATURAL INNER JOIN t3 3637 NATURAL INNER JOIN t4 3638 NATURAL FULL JOIN t5 3639 WHERE b BETWEEN 12 AND 17 3640 ORDER BY 1 NULLS FIRST; 3641 } { 3642 } 3643 do_execsql_test joinB-265 { 3644 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3645 FROM t1 3646 RIGHT JOIN t2 USING(a) 3647 INNER JOIN t3 USING(a) 3648 LEFT JOIN t4 USING(a) 3649 INNER JOIN t5 USING(a) 3650 ORDER BY 1 NULLS FIRST; 3651 } { 3652 15 15 15 15 15 15 3653 18 - 18 18 - 18 3654 } 3655 do_execsql_test joinB-266 { 3656 SELECT a, c, d, e, f, g 3657 FROM t1 3658 RIGHT JOIN t2 USING(a,b) 3659 INNER JOIN t3 USING(a,b) 3660 LEFT JOIN t4 USING(a,b) 3661 INNER JOIN t5 USING(a,b) 3662 WHERE a<>13 3663 ORDER BY 1 NULLS FIRST; 3664 } { 3665 15 35 35 35 35 35 3666 18 - 38 38 - 38 3667 } 3668 do_execsql_test joinB-267 { 3669 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3670 FROM t1 3671 RIGHT JOIN t2 USING(a) 3672 INNER JOIN t3 USING(a) 3673 LEFT JOIN t4 USING(a) 3674 LEFT JOIN t5 USING(a) 3675 ORDER BY 1 NULLS FIRST; 3676 } { 3677 12 12 12 12 - - 3678 13 - 13 13 13 - 3679 15 15 15 15 15 15 3680 18 - 18 18 - 18 3681 } 3682 do_execsql_test joinB-268 { 3683 SELECT a, c, d, e, f, g 3684 FROM t1 3685 RIGHT JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 3686 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 3687 WHERE a<=18 3688 ORDER BY 1 NULLS FIRST; 3689 } { 3690 12 32 32 32 - - 3691 13 - 33 33 33 - 3692 15 35 35 35 35 35 3693 18 - 38 38 - - 3694 } 3695 do_execsql_test joinB-269 { 3696 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3697 FROM t1 3698 RIGHT JOIN t2 USING(a) 3699 INNER JOIN t3 USING(a) 3700 LEFT JOIN t4 USING(a) 3701 RIGHT JOIN t5 USING(a) 3702 ORDER BY 1 NULLS FIRST; 3703 } { 3704 15 15 15 15 15 15 3705 17 - - - - 17 3706 18 - 18 18 - 18 3707 19 - - - - 19 3708 } 3709 do_execsql_test joinB-270 { 3710 SELECT a, b, c, d, e, f, g 3711 FROM t1 3712 RIGHT JOIN t2 USING(a,b) 3713 INNER JOIN t3 USING(a,b) 3714 LEFT JOIN t4 USING(a,b) 3715 RIGHT JOIN t5 USING(a,b) 3716 WHERE d<>33 OR d IS NULL 3717 ORDER BY 1 NULLS FIRST; 3718 } { 3719 15 25 35 35 35 35 35 3720 17 27 - - - - 37 3721 18 28 - 38 38 - 38 3722 19 29 - - - - 39 3723 } 3724 do_execsql_test joinB-271 { 3725 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3726 FROM t1 3727 RIGHT JOIN t2 USING(a) 3728 INNER JOIN t3 USING(a) 3729 LEFT JOIN t4 USING(a) 3730 FULL JOIN t5 USING(a) 3731 ORDER BY 1 NULLS FIRST; 3732 } { 3733 12 12 12 12 - - 3734 13 - 13 13 13 - 3735 15 15 15 15 15 15 3736 17 - - - - 17 3737 18 - 18 18 - 18 3738 19 - - - - 19 3739 } 3740 do_execsql_test joinB-272 { 3741 SELECT b, c, d, e, f, g 3742 FROM t1 3743 NATURAL RIGHT JOIN t2 3744 NATURAL INNER JOIN t3 3745 NATURAL LEFT JOIN t4 3746 NATURAL FULL JOIN t5 3747 WHERE b BETWEEN 12 AND 17 3748 ORDER BY 1 NULLS FIRST; 3749 } { 3750 } 3751 do_execsql_test joinB-273 { 3752 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3753 FROM t1 3754 RIGHT JOIN t2 USING(a) 3755 INNER JOIN t3 USING(a) 3756 RIGHT JOIN t4 USING(a) 3757 INNER JOIN t5 USING(a) 3758 ORDER BY 1 NULLS FIRST; 3759 } { 3760 15 15 15 15 15 15 3761 19 - - - 19 19 3762 } 3763 do_execsql_test joinB-274 { 3764 SELECT a, c, d, e, f, g 3765 FROM t1 3766 RIGHT JOIN t2 USING(a,b) 3767 INNER JOIN t3 USING(a,b) 3768 RIGHT JOIN t4 USING(a,b) 3769 INNER JOIN t5 USING(a,b) 3770 WHERE a<>13 3771 ORDER BY 1 NULLS FIRST; 3772 } { 3773 15 35 35 35 35 35 3774 19 - - - 39 39 3775 } 3776 do_execsql_test joinB-275 { 3777 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3778 FROM t1 3779 RIGHT JOIN t2 USING(a) 3780 INNER JOIN t3 USING(a) 3781 RIGHT JOIN t4 USING(a) 3782 LEFT JOIN t5 USING(a) 3783 ORDER BY 1 NULLS FIRST; 3784 } { 3785 11 - - - 11 - 3786 13 - 13 13 13 - 3787 15 15 15 15 15 15 3788 19 - - - 19 19 3789 } 3790 do_execsql_test joinB-276 { 3791 SELECT a, c, d, e, f, g 3792 FROM t1 3793 RIGHT JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 3794 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 3795 WHERE a<=18 3796 ORDER BY 1 NULLS FIRST; 3797 } { 3798 11 - - - 31 - 3799 13 - 33 33 33 - 3800 15 35 35 35 35 35 3801 } 3802 do_execsql_test joinB-277 { 3803 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3804 FROM t1 3805 RIGHT JOIN t2 USING(a) 3806 INNER JOIN t3 USING(a) 3807 RIGHT JOIN t4 USING(a) 3808 RIGHT JOIN t5 USING(a) 3809 ORDER BY 1 NULLS FIRST; 3810 } { 3811 15 15 15 15 15 15 3812 17 - - - - 17 3813 18 - - - - 18 3814 19 - - - 19 19 3815 } 3816 do_execsql_test joinB-278 { 3817 SELECT a, b, c, d, e, f, g 3818 FROM t1 3819 RIGHT JOIN t2 USING(a,b) 3820 INNER JOIN t3 USING(a,b) 3821 RIGHT JOIN t4 USING(a,b) 3822 RIGHT JOIN t5 USING(a,b) 3823 WHERE d<>33 OR d IS NULL 3824 ORDER BY 1 NULLS FIRST; 3825 } { 3826 15 25 35 35 35 35 35 3827 17 27 - - - - 37 3828 18 28 - - - - 38 3829 19 29 - - - 39 39 3830 } 3831 do_execsql_test joinB-279 { 3832 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3833 FROM t1 3834 RIGHT JOIN t2 USING(a) 3835 INNER JOIN t3 USING(a) 3836 RIGHT JOIN t4 USING(a) 3837 FULL JOIN t5 USING(a) 3838 ORDER BY 1 NULLS FIRST; 3839 } { 3840 11 - - - 11 - 3841 13 - 13 13 13 - 3842 15 15 15 15 15 15 3843 17 - - - - 17 3844 18 - - - - 18 3845 19 - - - 19 19 3846 } 3847 do_execsql_test joinB-280 { 3848 SELECT b, c, d, e, f, g 3849 FROM t1 3850 NATURAL RIGHT JOIN t2 3851 NATURAL INNER JOIN t3 3852 NATURAL RIGHT JOIN t4 3853 NATURAL FULL JOIN t5 3854 WHERE b BETWEEN 12 AND 17 3855 ORDER BY 1 NULLS FIRST; 3856 } { 3857 } 3858 do_execsql_test joinB-281 { 3859 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3860 FROM t1 3861 RIGHT JOIN t2 USING(a) 3862 INNER JOIN t3 USING(a) 3863 FULL JOIN t4 USING(a) 3864 INNER JOIN t5 USING(a) 3865 ORDER BY 1 NULLS FIRST; 3866 } { 3867 15 15 15 15 15 15 3868 18 - 18 18 - 18 3869 19 - - - 19 19 3870 } 3871 do_execsql_test joinB-282 { 3872 SELECT a, c, d, e, f, g 3873 FROM t1 3874 RIGHT JOIN t2 USING(a,b) 3875 INNER JOIN t3 USING(a,b) 3876 FULL JOIN t4 USING(a,b) 3877 INNER JOIN t5 USING(a,b) 3878 WHERE a<>13 3879 ORDER BY 1 NULLS FIRST; 3880 } { 3881 15 35 35 35 35 35 3882 18 - 38 38 - 38 3883 19 - - - 39 39 3884 } 3885 do_execsql_test joinB-283 { 3886 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3887 FROM t1 3888 RIGHT JOIN t2 USING(a) 3889 INNER JOIN t3 USING(a) 3890 FULL JOIN t4 USING(a) 3891 LEFT JOIN t5 USING(a) 3892 ORDER BY 1 NULLS FIRST; 3893 } { 3894 11 - - - 11 - 3895 12 12 12 12 - - 3896 13 - 13 13 13 - 3897 15 15 15 15 15 15 3898 18 - 18 18 - 18 3899 19 - - - 19 19 3900 } 3901 do_execsql_test joinB-284 { 3902 SELECT a, c, d, e, f, g 3903 FROM t1 3904 RIGHT JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 3905 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 3906 WHERE a<=18 3907 ORDER BY 1 NULLS FIRST; 3908 } { 3909 11 - - - 31 - 3910 12 32 32 32 - - 3911 13 - 33 33 33 - 3912 15 35 35 35 35 35 3913 18 - 38 38 - - 3914 } 3915 do_execsql_test joinB-285 { 3916 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3917 FROM t1 3918 RIGHT JOIN t2 USING(a) 3919 INNER JOIN t3 USING(a) 3920 FULL JOIN t4 USING(a) 3921 RIGHT JOIN t5 USING(a) 3922 ORDER BY 1 NULLS FIRST; 3923 } { 3924 15 15 15 15 15 15 3925 17 - - - - 17 3926 18 - 18 18 - 18 3927 19 - - - 19 19 3928 } 3929 do_execsql_test joinB-286 { 3930 SELECT a, b, c, d, e, f, g 3931 FROM t1 3932 RIGHT JOIN t2 USING(a,b) 3933 INNER JOIN t3 USING(a,b) 3934 FULL JOIN t4 USING(a,b) 3935 RIGHT JOIN t5 USING(a,b) 3936 WHERE d<>33 OR d IS NULL 3937 ORDER BY 1 NULLS FIRST; 3938 } { 3939 15 25 35 35 35 35 35 3940 17 27 - - - - 37 3941 18 28 - 38 38 - 38 3942 19 29 - - - 39 39 3943 } 3944 do_execsql_test joinB-287 { 3945 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3946 FROM t1 3947 RIGHT JOIN t2 USING(a) 3948 INNER JOIN t3 USING(a) 3949 FULL JOIN t4 USING(a) 3950 FULL JOIN t5 USING(a) 3951 ORDER BY 1 NULLS FIRST; 3952 } { 3953 11 - - - 11 - 3954 12 12 12 12 - - 3955 13 - 13 13 13 - 3956 15 15 15 15 15 15 3957 17 - - - - 17 3958 18 - 18 18 - 18 3959 19 - - - 19 19 3960 } 3961 do_execsql_test joinB-288 { 3962 SELECT b, c, d, e, f, g 3963 FROM t1 3964 NATURAL RIGHT JOIN t2 3965 NATURAL INNER JOIN t3 3966 NATURAL FULL JOIN t4 3967 NATURAL FULL JOIN t5 3968 WHERE b BETWEEN 12 AND 17 3969 ORDER BY 1 NULLS FIRST; 3970 } { 3971 } 3972 do_execsql_test joinB-289 { 3973 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3974 FROM t1 3975 RIGHT JOIN t2 USING(a) 3976 LEFT JOIN t3 USING(a) 3977 INNER JOIN t4 USING(a) 3978 INNER JOIN t5 USING(a) 3979 ORDER BY 1 NULLS FIRST; 3980 } { 3981 15 15 15 15 15 15 3982 } 3983 do_execsql_test joinB-290 { 3984 SELECT a, c, d, e, f, g 3985 FROM t1 3986 RIGHT JOIN t2 USING(a,b) 3987 LEFT JOIN t3 USING(a,b) 3988 INNER JOIN t4 USING(a,b) 3989 INNER JOIN t5 USING(a,b) 3990 WHERE a<>13 3991 ORDER BY 1 NULLS FIRST; 3992 } { 3993 15 35 35 35 35 35 3994 } 3995 do_execsql_test joinB-291 { 3996 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 3997 FROM t1 3998 RIGHT JOIN t2 USING(a) 3999 LEFT JOIN t3 USING(a) 4000 INNER JOIN t4 USING(a) 4001 LEFT JOIN t5 USING(a) 4002 ORDER BY 1 NULLS FIRST; 4003 } { 4004 13 - 13 13 13 - 4005 15 15 15 15 15 15 4006 } 4007 do_execsql_test joinB-292 { 4008 SELECT a, c, d, e, f, g 4009 FROM t1 4010 RIGHT JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 4011 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 4012 WHERE a<=18 4013 ORDER BY 1 NULLS FIRST; 4014 } { 4015 13 - 33 33 33 - 4016 15 35 35 35 35 35 4017 } 4018 do_execsql_test joinB-293 { 4019 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4020 FROM t1 4021 RIGHT JOIN t2 USING(a) 4022 LEFT JOIN t3 USING(a) 4023 INNER JOIN t4 USING(a) 4024 RIGHT JOIN t5 USING(a) 4025 ORDER BY 1 NULLS FIRST; 4026 } { 4027 15 15 15 15 15 15 4028 17 - - - - 17 4029 18 - - - - 18 4030 19 - - - - 19 4031 } 4032 do_execsql_test joinB-294 { 4033 SELECT a, b, c, d, e, f, g 4034 FROM t1 4035 RIGHT JOIN t2 USING(a,b) 4036 LEFT JOIN t3 USING(a,b) 4037 INNER JOIN t4 USING(a,b) 4038 RIGHT JOIN t5 USING(a,b) 4039 WHERE d<>33 OR d IS NULL 4040 ORDER BY 1 NULLS FIRST; 4041 } { 4042 15 25 35 35 35 35 35 4043 17 27 - - - - 37 4044 18 28 - - - - 38 4045 19 29 - - - - 39 4046 } 4047 do_execsql_test joinB-295 { 4048 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4049 FROM t1 4050 RIGHT JOIN t2 USING(a) 4051 LEFT JOIN t3 USING(a) 4052 INNER JOIN t4 USING(a) 4053 FULL JOIN t5 USING(a) 4054 ORDER BY 1 NULLS FIRST; 4055 } { 4056 13 - 13 13 13 - 4057 15 15 15 15 15 15 4058 17 - - - - 17 4059 18 - - - - 18 4060 19 - - - - 19 4061 } 4062 do_execsql_test joinB-296 { 4063 SELECT b, c, d, e, f, g 4064 FROM t1 4065 NATURAL RIGHT JOIN t2 4066 NATURAL LEFT JOIN t3 4067 NATURAL INNER JOIN t4 4068 NATURAL FULL JOIN t5 4069 WHERE b BETWEEN 12 AND 17 4070 ORDER BY 1 NULLS FIRST; 4071 } { 4072 } 4073 do_execsql_test joinB-297 { 4074 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4075 FROM t1 4076 RIGHT JOIN t2 USING(a) 4077 LEFT JOIN t3 USING(a) 4078 LEFT JOIN t4 USING(a) 4079 INNER JOIN t5 USING(a) 4080 ORDER BY 1 NULLS FIRST; 4081 } { 4082 15 15 15 15 15 15 4083 18 - 18 18 - 18 4084 } 4085 do_execsql_test joinB-298 { 4086 SELECT a, c, d, e, f, g 4087 FROM t1 4088 RIGHT JOIN t2 USING(a,b) 4089 LEFT JOIN t3 USING(a,b) 4090 LEFT JOIN t4 USING(a,b) 4091 INNER JOIN t5 USING(a,b) 4092 WHERE a<>13 4093 ORDER BY 1 NULLS FIRST; 4094 } { 4095 15 35 35 35 35 35 4096 18 - 38 38 - 38 4097 } 4098 do_execsql_test joinB-299 { 4099 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4100 FROM t1 4101 RIGHT JOIN t2 USING(a) 4102 LEFT JOIN t3 USING(a) 4103 LEFT JOIN t4 USING(a) 4104 LEFT JOIN t5 USING(a) 4105 ORDER BY 1 NULLS FIRST; 4106 } { 4107 - - - - - - 4108 12 12 12 12 - - 4109 13 - 13 13 13 - 4110 15 15 15 15 15 15 4111 18 - 18 18 - 18 4112 } 4113 do_execsql_test joinB-300 { 4114 SELECT a, c, d, e, f, g 4115 FROM t1 4116 RIGHT JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 4117 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 4118 WHERE a<=18 4119 ORDER BY 1 NULLS FIRST; 4120 } { 4121 12 32 32 32 - - 4122 13 - 33 33 33 - 4123 15 35 35 35 35 35 4124 18 - 38 38 - - 4125 } 4126 do_execsql_test joinB-301 { 4127 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4128 FROM t1 4129 RIGHT JOIN t2 USING(a) 4130 LEFT JOIN t3 USING(a) 4131 LEFT JOIN t4 USING(a) 4132 RIGHT JOIN t5 USING(a) 4133 ORDER BY 1 NULLS FIRST; 4134 } { 4135 15 15 15 15 15 15 4136 17 - - - - 17 4137 18 - 18 18 - 18 4138 19 - - - - 19 4139 } 4140 do_execsql_test joinB-302 { 4141 SELECT a, b, c, d, e, f, g 4142 FROM t1 4143 RIGHT JOIN t2 USING(a,b) 4144 LEFT JOIN t3 USING(a,b) 4145 LEFT JOIN t4 USING(a,b) 4146 RIGHT JOIN t5 USING(a,b) 4147 WHERE d<>33 OR d IS NULL 4148 ORDER BY 1 NULLS FIRST; 4149 } { 4150 15 25 35 35 35 35 35 4151 17 27 - - - - 37 4152 18 28 - 38 38 - 38 4153 19 29 - - - - 39 4154 } 4155 do_execsql_test joinB-303 { 4156 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4157 FROM t1 4158 RIGHT JOIN t2 USING(a) 4159 LEFT JOIN t3 USING(a) 4160 LEFT JOIN t4 USING(a) 4161 FULL JOIN t5 USING(a) 4162 ORDER BY 1 NULLS FIRST; 4163 } { 4164 - - - - - - 4165 12 12 12 12 - - 4166 13 - 13 13 13 - 4167 15 15 15 15 15 15 4168 17 - - - - 17 4169 18 - 18 18 - 18 4170 19 - - - - 19 4171 } 4172 do_execsql_test joinB-304 { 4173 SELECT b, c, d, e, f, g 4174 FROM t1 4175 NATURAL RIGHT JOIN t2 4176 NATURAL LEFT JOIN t3 4177 NATURAL LEFT JOIN t4 4178 NATURAL FULL JOIN t5 4179 WHERE b BETWEEN 12 AND 17 4180 ORDER BY 1 NULLS FIRST; 4181 } { 4182 } 4183 do_execsql_test joinB-305 { 4184 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4185 FROM t1 4186 RIGHT JOIN t2 USING(a) 4187 LEFT JOIN t3 USING(a) 4188 RIGHT JOIN t4 USING(a) 4189 INNER JOIN t5 USING(a) 4190 ORDER BY 1 NULLS FIRST; 4191 } { 4192 15 15 15 15 15 15 4193 19 - - - 19 19 4194 } 4195 do_execsql_test joinB-306 { 4196 SELECT a, c, d, e, f, g 4197 FROM t1 4198 RIGHT JOIN t2 USING(a,b) 4199 LEFT JOIN t3 USING(a,b) 4200 RIGHT JOIN t4 USING(a,b) 4201 INNER JOIN t5 USING(a,b) 4202 WHERE a<>13 4203 ORDER BY 1 NULLS FIRST; 4204 } { 4205 15 35 35 35 35 35 4206 19 - - - 39 39 4207 } 4208 do_execsql_test joinB-307 { 4209 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4210 FROM t1 4211 RIGHT JOIN t2 USING(a) 4212 LEFT JOIN t3 USING(a) 4213 RIGHT JOIN t4 USING(a) 4214 LEFT JOIN t5 USING(a) 4215 ORDER BY 1 NULLS FIRST; 4216 } { 4217 11 - - - 11 - 4218 13 - 13 13 13 - 4219 15 15 15 15 15 15 4220 19 - - - 19 19 4221 } 4222 do_execsql_test joinB-308 { 4223 SELECT a, c, d, e, f, g 4224 FROM t1 4225 RIGHT JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 4226 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 4227 WHERE a<=18 4228 ORDER BY 1 NULLS FIRST; 4229 } { 4230 11 - - - 31 - 4231 13 - 33 33 33 - 4232 15 35 35 35 35 35 4233 } 4234 do_execsql_test joinB-309 { 4235 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4236 FROM t1 4237 RIGHT JOIN t2 USING(a) 4238 LEFT JOIN t3 USING(a) 4239 RIGHT JOIN t4 USING(a) 4240 RIGHT JOIN t5 USING(a) 4241 ORDER BY 1 NULLS FIRST; 4242 } { 4243 15 15 15 15 15 15 4244 17 - - - - 17 4245 18 - - - - 18 4246 19 - - - 19 19 4247 } 4248 do_execsql_test joinB-310 { 4249 SELECT a, b, c, d, e, f, g 4250 FROM t1 4251 RIGHT JOIN t2 USING(a,b) 4252 LEFT JOIN t3 USING(a,b) 4253 RIGHT JOIN t4 USING(a,b) 4254 RIGHT JOIN t5 USING(a,b) 4255 WHERE d<>33 OR d IS NULL 4256 ORDER BY 1 NULLS FIRST; 4257 } { 4258 15 25 35 35 35 35 35 4259 17 27 - - - - 37 4260 18 28 - - - - 38 4261 19 29 - - - 39 39 4262 } 4263 do_execsql_test joinB-311 { 4264 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4265 FROM t1 4266 RIGHT JOIN t2 USING(a) 4267 LEFT JOIN t3 USING(a) 4268 RIGHT JOIN t4 USING(a) 4269 FULL JOIN t5 USING(a) 4270 ORDER BY 1 NULLS FIRST; 4271 } { 4272 11 - - - 11 - 4273 13 - 13 13 13 - 4274 15 15 15 15 15 15 4275 17 - - - - 17 4276 18 - - - - 18 4277 19 - - - 19 19 4278 } 4279 do_execsql_test joinB-312 { 4280 SELECT b, c, d, e, f, g 4281 FROM t1 4282 NATURAL RIGHT JOIN t2 4283 NATURAL LEFT JOIN t3 4284 NATURAL RIGHT JOIN t4 4285 NATURAL FULL JOIN t5 4286 WHERE b BETWEEN 12 AND 17 4287 ORDER BY 1 NULLS FIRST; 4288 } { 4289 } 4290 do_execsql_test joinB-313 { 4291 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4292 FROM t1 4293 RIGHT JOIN t2 USING(a) 4294 LEFT JOIN t3 USING(a) 4295 FULL JOIN t4 USING(a) 4296 INNER JOIN t5 USING(a) 4297 ORDER BY 1 NULLS FIRST; 4298 } { 4299 15 15 15 15 15 15 4300 18 - 18 18 - 18 4301 19 - - - 19 19 4302 } 4303 do_execsql_test joinB-314 { 4304 SELECT a, c, d, e, f, g 4305 FROM t1 4306 RIGHT JOIN t2 USING(a,b) 4307 LEFT JOIN t3 USING(a,b) 4308 FULL JOIN t4 USING(a,b) 4309 INNER JOIN t5 USING(a,b) 4310 WHERE a<>13 4311 ORDER BY 1 NULLS FIRST; 4312 } { 4313 15 35 35 35 35 35 4314 18 - 38 38 - 38 4315 19 - - - 39 39 4316 } 4317 do_execsql_test joinB-315 { 4318 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4319 FROM t1 4320 RIGHT JOIN t2 USING(a) 4321 LEFT JOIN t3 USING(a) 4322 FULL JOIN t4 USING(a) 4323 LEFT JOIN t5 USING(a) 4324 ORDER BY 1 NULLS FIRST; 4325 } { 4326 - - - - - - 4327 11 - - - 11 - 4328 12 12 12 12 - - 4329 13 - 13 13 13 - 4330 15 15 15 15 15 15 4331 18 - 18 18 - 18 4332 19 - - - 19 19 4333 } 4334 do_execsql_test joinB-316 { 4335 SELECT a, c, d, e, f, g 4336 FROM t1 4337 RIGHT JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 4338 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 4339 WHERE a<=18 4340 ORDER BY 1 NULLS FIRST; 4341 } { 4342 11 - - - 31 - 4343 12 32 32 32 - - 4344 13 - 33 33 33 - 4345 15 35 35 35 35 35 4346 18 - 38 38 - - 4347 } 4348 do_execsql_test joinB-317 { 4349 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4350 FROM t1 4351 RIGHT JOIN t2 USING(a) 4352 LEFT JOIN t3 USING(a) 4353 FULL JOIN t4 USING(a) 4354 RIGHT JOIN t5 USING(a) 4355 ORDER BY 1 NULLS FIRST; 4356 } { 4357 15 15 15 15 15 15 4358 17 - - - - 17 4359 18 - 18 18 - 18 4360 19 - - - 19 19 4361 } 4362 do_execsql_test joinB-318 { 4363 SELECT a, b, c, d, e, f, g 4364 FROM t1 4365 RIGHT JOIN t2 USING(a,b) 4366 LEFT JOIN t3 USING(a,b) 4367 FULL JOIN t4 USING(a,b) 4368 RIGHT JOIN t5 USING(a,b) 4369 WHERE d<>33 OR d IS NULL 4370 ORDER BY 1 NULLS FIRST; 4371 } { 4372 15 25 35 35 35 35 35 4373 17 27 - - - - 37 4374 18 28 - 38 38 - 38 4375 19 29 - - - 39 39 4376 } 4377 do_execsql_test joinB-319 { 4378 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4379 FROM t1 4380 RIGHT JOIN t2 USING(a) 4381 LEFT JOIN t3 USING(a) 4382 FULL JOIN t4 USING(a) 4383 FULL JOIN t5 USING(a) 4384 ORDER BY 1 NULLS FIRST; 4385 } { 4386 - - - - - - 4387 11 - - - 11 - 4388 12 12 12 12 - - 4389 13 - 13 13 13 - 4390 15 15 15 15 15 15 4391 17 - - - - 17 4392 18 - 18 18 - 18 4393 19 - - - 19 19 4394 } 4395 do_execsql_test joinB-320 { 4396 SELECT b, c, d, e, f, g 4397 FROM t1 4398 NATURAL RIGHT JOIN t2 4399 NATURAL LEFT JOIN t3 4400 NATURAL FULL JOIN t4 4401 NATURAL FULL JOIN t5 4402 WHERE b BETWEEN 12 AND 17 4403 ORDER BY 1 NULLS FIRST; 4404 } { 4405 } 4406 do_execsql_test joinB-321 { 4407 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4408 FROM t1 4409 RIGHT JOIN t2 USING(a) 4410 RIGHT JOIN t3 USING(a) 4411 INNER JOIN t4 USING(a) 4412 INNER JOIN t5 USING(a) 4413 ORDER BY 1 NULLS FIRST; 4414 } { 4415 15 15 15 15 15 15 4416 19 - - 19 19 19 4417 } 4418 do_execsql_test joinB-322 { 4419 SELECT a, c, d, e, f, g 4420 FROM t1 4421 RIGHT JOIN t2 USING(a,b) 4422 RIGHT JOIN t3 USING(a,b) 4423 INNER JOIN t4 USING(a,b) 4424 INNER JOIN t5 USING(a,b) 4425 WHERE a<>13 4426 ORDER BY 1 NULLS FIRST; 4427 } { 4428 15 35 35 35 35 35 4429 19 - - 39 39 39 4430 } 4431 do_execsql_test joinB-323 { 4432 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4433 FROM t1 4434 RIGHT JOIN t2 USING(a) 4435 RIGHT JOIN t3 USING(a) 4436 INNER JOIN t4 USING(a) 4437 LEFT JOIN t5 USING(a) 4438 ORDER BY 1 NULLS FIRST; 4439 } { 4440 11 - - 11 11 - 4441 13 - 13 13 13 - 4442 15 15 15 15 15 15 4443 19 - - 19 19 19 4444 } 4445 do_execsql_test joinB-324 { 4446 SELECT a, c, d, e, f, g 4447 FROM t1 4448 RIGHT JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 4449 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 4450 WHERE a<=18 4451 ORDER BY 1 NULLS FIRST; 4452 } { 4453 11 31 - 31 31 - 4454 13 - 33 33 33 - 4455 15 35 35 35 35 35 4456 } 4457 do_execsql_test joinB-325 { 4458 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4459 FROM t1 4460 RIGHT JOIN t2 USING(a) 4461 RIGHT JOIN t3 USING(a) 4462 INNER JOIN t4 USING(a) 4463 RIGHT JOIN t5 USING(a) 4464 ORDER BY 1 NULLS FIRST; 4465 } { 4466 15 15 15 15 15 15 4467 17 - - - - 17 4468 18 - - - - 18 4469 19 - - 19 19 19 4470 } 4471 do_execsql_test joinB-326 { 4472 SELECT a, b, c, d, e, f, g 4473 FROM t1 4474 RIGHT JOIN t2 USING(a,b) 4475 RIGHT JOIN t3 USING(a,b) 4476 INNER JOIN t4 USING(a,b) 4477 RIGHT JOIN t5 USING(a,b) 4478 WHERE d<>33 OR d IS NULL 4479 ORDER BY 1 NULLS FIRST; 4480 } { 4481 15 25 35 35 35 35 35 4482 17 27 - - - - 37 4483 18 28 - - - - 38 4484 19 29 - - 39 39 39 4485 } 4486 do_execsql_test joinB-327 { 4487 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4488 FROM t1 4489 RIGHT JOIN t2 USING(a) 4490 RIGHT JOIN t3 USING(a) 4491 INNER JOIN t4 USING(a) 4492 FULL JOIN t5 USING(a) 4493 ORDER BY 1 NULLS FIRST; 4494 } { 4495 11 - - 11 11 - 4496 13 - 13 13 13 - 4497 15 15 15 15 15 15 4498 17 - - - - 17 4499 18 - - - - 18 4500 19 - - 19 19 19 4501 } 4502 do_execsql_test joinB-328 { 4503 SELECT b, c, d, e, f, g 4504 FROM t1 4505 NATURAL RIGHT JOIN t2 4506 NATURAL RIGHT JOIN t3 4507 NATURAL INNER JOIN t4 4508 NATURAL FULL JOIN t5 4509 WHERE b BETWEEN 12 AND 17 4510 ORDER BY 1 NULLS FIRST; 4511 } { 4512 } 4513 do_execsql_test joinB-329 { 4514 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4515 FROM t1 4516 RIGHT JOIN t2 USING(a) 4517 RIGHT JOIN t3 USING(a) 4518 LEFT JOIN t4 USING(a) 4519 INNER JOIN t5 USING(a) 4520 ORDER BY 1 NULLS FIRST; 4521 } { 4522 15 15 15 15 15 15 4523 17 - - 17 - 17 4524 18 - 18 18 - 18 4525 19 - - 19 19 19 4526 } 4527 do_execsql_test joinB-330 { 4528 SELECT a, c, d, e, f, g 4529 FROM t1 4530 RIGHT JOIN t2 USING(a,b) 4531 RIGHT JOIN t3 USING(a,b) 4532 LEFT JOIN t4 USING(a,b) 4533 INNER JOIN t5 USING(a,b) 4534 WHERE a<>13 4535 ORDER BY 1 NULLS FIRST; 4536 } { 4537 15 35 35 35 35 35 4538 17 - - 37 - 37 4539 18 - 38 38 - 38 4540 19 - - 39 39 39 4541 } 4542 do_execsql_test joinB-331 { 4543 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4544 FROM t1 4545 RIGHT JOIN t2 USING(a) 4546 RIGHT JOIN t3 USING(a) 4547 LEFT JOIN t4 USING(a) 4548 LEFT JOIN t5 USING(a) 4549 ORDER BY 1 NULLS FIRST; 4550 } { 4551 - - - - - - 4552 11 - - 11 11 - 4553 12 12 12 12 - - 4554 13 - 13 13 13 - 4555 15 15 15 15 15 15 4556 17 - - 17 - 17 4557 18 - 18 18 - 18 4558 19 - - 19 19 19 4559 } 4560 do_execsql_test joinB-332 { 4561 SELECT a, c, d, e, f, g 4562 FROM t1 4563 RIGHT JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 4564 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 4565 WHERE a<=18 4566 ORDER BY 1 NULLS FIRST; 4567 } { 4568 11 31 - 31 31 - 4569 12 32 32 32 - - 4570 13 - 33 33 33 - 4571 15 35 35 35 35 35 4572 17 37 - 37 - - 4573 18 - 38 38 - - 4574 } 4575 do_execsql_test joinB-333 { 4576 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4577 FROM t1 4578 RIGHT JOIN t2 USING(a) 4579 RIGHT JOIN t3 USING(a) 4580 LEFT JOIN t4 USING(a) 4581 RIGHT JOIN t5 USING(a) 4582 ORDER BY 1 NULLS FIRST; 4583 } { 4584 15 15 15 15 15 15 4585 17 - - 17 - 17 4586 18 - 18 18 - 18 4587 19 - - 19 19 19 4588 } 4589 do_execsql_test joinB-334 { 4590 SELECT a, b, c, d, e, f, g 4591 FROM t1 4592 RIGHT JOIN t2 USING(a,b) 4593 RIGHT JOIN t3 USING(a,b) 4594 LEFT JOIN t4 USING(a,b) 4595 RIGHT JOIN t5 USING(a,b) 4596 WHERE d<>33 OR d IS NULL 4597 ORDER BY 1 NULLS FIRST; 4598 } { 4599 15 25 35 35 35 35 35 4600 17 27 - - 37 - 37 4601 18 28 - 38 38 - 38 4602 19 29 - - 39 39 39 4603 } 4604 do_execsql_test joinB-335 { 4605 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4606 FROM t1 4607 RIGHT JOIN t2 USING(a) 4608 RIGHT JOIN t3 USING(a) 4609 LEFT JOIN t4 USING(a) 4610 FULL JOIN t5 USING(a) 4611 ORDER BY 1 NULLS FIRST; 4612 } { 4613 - - - - - - 4614 11 - - 11 11 - 4615 12 12 12 12 - - 4616 13 - 13 13 13 - 4617 15 15 15 15 15 15 4618 17 - - 17 - 17 4619 18 - 18 18 - 18 4620 19 - - 19 19 19 4621 } 4622 do_execsql_test joinB-336 { 4623 SELECT b, c, d, e, f, g 4624 FROM t1 4625 NATURAL RIGHT JOIN t2 4626 NATURAL RIGHT JOIN t3 4627 NATURAL LEFT JOIN t4 4628 NATURAL FULL JOIN t5 4629 WHERE b BETWEEN 12 AND 17 4630 ORDER BY 1 NULLS FIRST; 4631 } { 4632 } 4633 do_execsql_test joinB-337 { 4634 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4635 FROM t1 4636 RIGHT JOIN t2 USING(a) 4637 RIGHT JOIN t3 USING(a) 4638 RIGHT JOIN t4 USING(a) 4639 INNER JOIN t5 USING(a) 4640 ORDER BY 1 NULLS FIRST; 4641 } { 4642 15 15 15 15 15 15 4643 19 - - 19 19 19 4644 } 4645 do_execsql_test joinB-338 { 4646 SELECT a, c, d, e, f, g 4647 FROM t1 4648 RIGHT JOIN t2 USING(a,b) 4649 RIGHT JOIN t3 USING(a,b) 4650 RIGHT JOIN t4 USING(a,b) 4651 INNER JOIN t5 USING(a,b) 4652 WHERE a<>13 4653 ORDER BY 1 NULLS FIRST; 4654 } { 4655 15 35 35 35 35 35 4656 19 - - 39 39 39 4657 } 4658 do_execsql_test joinB-339 { 4659 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4660 FROM t1 4661 RIGHT JOIN t2 USING(a) 4662 RIGHT JOIN t3 USING(a) 4663 RIGHT JOIN t4 USING(a) 4664 LEFT JOIN t5 USING(a) 4665 ORDER BY 1 NULLS FIRST; 4666 } { 4667 11 - - 11 11 - 4668 13 - 13 13 13 - 4669 15 15 15 15 15 15 4670 19 - - 19 19 19 4671 } 4672 do_execsql_test joinB-340 { 4673 SELECT a, c, d, e, f, g 4674 FROM t1 4675 RIGHT JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 4676 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 4677 WHERE a<=18 4678 ORDER BY 1 NULLS FIRST; 4679 } { 4680 11 31 - 31 31 - 4681 13 - 33 33 33 - 4682 15 35 35 35 35 35 4683 } 4684 do_execsql_test joinB-341 { 4685 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4686 FROM t1 4687 RIGHT JOIN t2 USING(a) 4688 RIGHT JOIN t3 USING(a) 4689 RIGHT JOIN t4 USING(a) 4690 RIGHT JOIN t5 USING(a) 4691 ORDER BY 1 NULLS FIRST; 4692 } { 4693 15 15 15 15 15 15 4694 17 - - - - 17 4695 18 - - - - 18 4696 19 - - 19 19 19 4697 } 4698 do_execsql_test joinB-342 { 4699 SELECT a, b, c, d, e, f, g 4700 FROM t1 4701 RIGHT JOIN t2 USING(a,b) 4702 RIGHT JOIN t3 USING(a,b) 4703 RIGHT JOIN t4 USING(a,b) 4704 RIGHT JOIN t5 USING(a,b) 4705 WHERE d<>33 OR d IS NULL 4706 ORDER BY 1 NULLS FIRST; 4707 } { 4708 15 25 35 35 35 35 35 4709 17 27 - - - - 37 4710 18 28 - - - - 38 4711 19 29 - - 39 39 39 4712 } 4713 do_execsql_test joinB-343 { 4714 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4715 FROM t1 4716 RIGHT JOIN t2 USING(a) 4717 RIGHT JOIN t3 USING(a) 4718 RIGHT JOIN t4 USING(a) 4719 FULL JOIN t5 USING(a) 4720 ORDER BY 1 NULLS FIRST; 4721 } { 4722 11 - - 11 11 - 4723 13 - 13 13 13 - 4724 15 15 15 15 15 15 4725 17 - - - - 17 4726 18 - - - - 18 4727 19 - - 19 19 19 4728 } 4729 do_execsql_test joinB-344 { 4730 SELECT b, c, d, e, f, g 4731 FROM t1 4732 NATURAL RIGHT JOIN t2 4733 NATURAL RIGHT JOIN t3 4734 NATURAL RIGHT JOIN t4 4735 NATURAL FULL JOIN t5 4736 WHERE b BETWEEN 12 AND 17 4737 ORDER BY 1 NULLS FIRST; 4738 } { 4739 } 4740 do_execsql_test joinB-345 { 4741 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4742 FROM t1 4743 RIGHT JOIN t2 USING(a) 4744 RIGHT JOIN t3 USING(a) 4745 FULL JOIN t4 USING(a) 4746 INNER JOIN t5 USING(a) 4747 ORDER BY 1 NULLS FIRST; 4748 } { 4749 15 15 15 15 15 15 4750 17 - - 17 - 17 4751 18 - 18 18 - 18 4752 19 - - 19 19 19 4753 } 4754 do_execsql_test joinB-346 { 4755 SELECT a, c, d, e, f, g 4756 FROM t1 4757 RIGHT JOIN t2 USING(a,b) 4758 RIGHT JOIN t3 USING(a,b) 4759 FULL JOIN t4 USING(a,b) 4760 INNER JOIN t5 USING(a,b) 4761 WHERE a<>13 4762 ORDER BY 1 NULLS FIRST; 4763 } { 4764 15 35 35 35 35 35 4765 17 - - 37 - 37 4766 18 - 38 38 - 38 4767 19 - - 39 39 39 4768 } 4769 do_execsql_test joinB-347 { 4770 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4771 FROM t1 4772 RIGHT JOIN t2 USING(a) 4773 RIGHT JOIN t3 USING(a) 4774 FULL JOIN t4 USING(a) 4775 LEFT JOIN t5 USING(a) 4776 ORDER BY 1 NULLS FIRST; 4777 } { 4778 - - - - - - 4779 11 - - 11 11 - 4780 12 12 12 12 - - 4781 13 - 13 13 13 - 4782 15 15 15 15 15 15 4783 17 - - 17 - 17 4784 18 - 18 18 - 18 4785 19 - - 19 19 19 4786 } 4787 do_execsql_test joinB-348 { 4788 SELECT a, c, d, e, f, g 4789 FROM t1 4790 RIGHT JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 4791 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 4792 WHERE a<=18 4793 ORDER BY 1 NULLS FIRST; 4794 } { 4795 11 31 - 31 31 - 4796 12 32 32 32 - - 4797 13 - 33 33 33 - 4798 15 35 35 35 35 35 4799 17 37 - 37 - - 4800 18 - 38 38 - - 4801 } 4802 do_execsql_test joinB-349 { 4803 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4804 FROM t1 4805 RIGHT JOIN t2 USING(a) 4806 RIGHT JOIN t3 USING(a) 4807 FULL JOIN t4 USING(a) 4808 RIGHT JOIN t5 USING(a) 4809 ORDER BY 1 NULLS FIRST; 4810 } { 4811 15 15 15 15 15 15 4812 17 - - 17 - 17 4813 18 - 18 18 - 18 4814 19 - - 19 19 19 4815 } 4816 do_execsql_test joinB-350 { 4817 SELECT a, b, c, d, e, f, g 4818 FROM t1 4819 RIGHT JOIN t2 USING(a,b) 4820 RIGHT JOIN t3 USING(a,b) 4821 FULL JOIN t4 USING(a,b) 4822 RIGHT JOIN t5 USING(a,b) 4823 WHERE d<>33 OR d IS NULL 4824 ORDER BY 1 NULLS FIRST; 4825 } { 4826 15 25 35 35 35 35 35 4827 17 27 - - 37 - 37 4828 18 28 - 38 38 - 38 4829 19 29 - - 39 39 39 4830 } 4831 do_execsql_test joinB-351 { 4832 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4833 FROM t1 4834 RIGHT JOIN t2 USING(a) 4835 RIGHT JOIN t3 USING(a) 4836 FULL JOIN t4 USING(a) 4837 FULL JOIN t5 USING(a) 4838 ORDER BY 1 NULLS FIRST; 4839 } { 4840 - - - - - - 4841 11 - - 11 11 - 4842 12 12 12 12 - - 4843 13 - 13 13 13 - 4844 15 15 15 15 15 15 4845 17 - - 17 - 17 4846 18 - 18 18 - 18 4847 19 - - 19 19 19 4848 } 4849 do_execsql_test joinB-352 { 4850 SELECT b, c, d, e, f, g 4851 FROM t1 4852 NATURAL RIGHT JOIN t2 4853 NATURAL RIGHT JOIN t3 4854 NATURAL FULL JOIN t4 4855 NATURAL FULL JOIN t5 4856 WHERE b BETWEEN 12 AND 17 4857 ORDER BY 1 NULLS FIRST; 4858 } { 4859 } 4860 do_execsql_test joinB-353 { 4861 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4862 FROM t1 4863 RIGHT JOIN t2 USING(a) 4864 FULL JOIN t3 USING(a) 4865 INNER JOIN t4 USING(a) 4866 INNER JOIN t5 USING(a) 4867 ORDER BY 1 NULLS FIRST; 4868 } { 4869 15 15 15 15 15 15 4870 19 - - 19 19 19 4871 } 4872 do_execsql_test joinB-354 { 4873 SELECT a, c, d, e, f, g 4874 FROM t1 4875 RIGHT JOIN t2 USING(a,b) 4876 FULL JOIN t3 USING(a,b) 4877 INNER JOIN t4 USING(a,b) 4878 INNER JOIN t5 USING(a,b) 4879 WHERE a<>13 4880 ORDER BY 1 NULLS FIRST; 4881 } { 4882 15 35 35 35 35 35 4883 19 - - 39 39 39 4884 } 4885 do_execsql_test joinB-355 { 4886 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4887 FROM t1 4888 RIGHT JOIN t2 USING(a) 4889 FULL JOIN t3 USING(a) 4890 INNER JOIN t4 USING(a) 4891 LEFT JOIN t5 USING(a) 4892 ORDER BY 1 NULLS FIRST; 4893 } { 4894 11 - - 11 11 - 4895 13 - 13 13 13 - 4896 15 15 15 15 15 15 4897 19 - - 19 19 19 4898 } 4899 do_execsql_test joinB-356 { 4900 SELECT a, c, d, e, f, g 4901 FROM t1 4902 RIGHT JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 4903 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 4904 WHERE a<=18 4905 ORDER BY 1 NULLS FIRST; 4906 } { 4907 11 31 - 31 31 - 4908 13 - 33 33 33 - 4909 15 35 35 35 35 35 4910 } 4911 do_execsql_test joinB-357 { 4912 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4913 FROM t1 4914 RIGHT JOIN t2 USING(a) 4915 FULL JOIN t3 USING(a) 4916 INNER JOIN t4 USING(a) 4917 RIGHT JOIN t5 USING(a) 4918 ORDER BY 1 NULLS FIRST; 4919 } { 4920 15 15 15 15 15 15 4921 17 - - - - 17 4922 18 - - - - 18 4923 19 - - 19 19 19 4924 } 4925 do_execsql_test joinB-358 { 4926 SELECT a, b, c, d, e, f, g 4927 FROM t1 4928 RIGHT JOIN t2 USING(a,b) 4929 FULL JOIN t3 USING(a,b) 4930 INNER JOIN t4 USING(a,b) 4931 RIGHT JOIN t5 USING(a,b) 4932 WHERE d<>33 OR d IS NULL 4933 ORDER BY 1 NULLS FIRST; 4934 } { 4935 15 25 35 35 35 35 35 4936 17 27 - - - - 37 4937 18 28 - - - - 38 4938 19 29 - - 39 39 39 4939 } 4940 do_execsql_test joinB-359 { 4941 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4942 FROM t1 4943 RIGHT JOIN t2 USING(a) 4944 FULL JOIN t3 USING(a) 4945 INNER JOIN t4 USING(a) 4946 FULL JOIN t5 USING(a) 4947 ORDER BY 1 NULLS FIRST; 4948 } { 4949 11 - - 11 11 - 4950 13 - 13 13 13 - 4951 15 15 15 15 15 15 4952 17 - - - - 17 4953 18 - - - - 18 4954 19 - - 19 19 19 4955 } 4956 do_execsql_test joinB-360 { 4957 SELECT b, c, d, e, f, g 4958 FROM t1 4959 NATURAL RIGHT JOIN t2 4960 NATURAL FULL JOIN t3 4961 NATURAL INNER JOIN t4 4962 NATURAL FULL JOIN t5 4963 WHERE b BETWEEN 12 AND 17 4964 ORDER BY 1 NULLS FIRST; 4965 } { 4966 } 4967 do_execsql_test joinB-361 { 4968 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4969 FROM t1 4970 RIGHT JOIN t2 USING(a) 4971 FULL JOIN t3 USING(a) 4972 LEFT JOIN t4 USING(a) 4973 INNER JOIN t5 USING(a) 4974 ORDER BY 1 NULLS FIRST; 4975 } { 4976 15 15 15 15 15 15 4977 17 - - 17 - 17 4978 18 - 18 18 - 18 4979 19 - - 19 19 19 4980 } 4981 do_execsql_test joinB-362 { 4982 SELECT a, c, d, e, f, g 4983 FROM t1 4984 RIGHT JOIN t2 USING(a,b) 4985 FULL JOIN t3 USING(a,b) 4986 LEFT JOIN t4 USING(a,b) 4987 INNER JOIN t5 USING(a,b) 4988 WHERE a<>13 4989 ORDER BY 1 NULLS FIRST; 4990 } { 4991 15 35 35 35 35 35 4992 17 - - 37 - 37 4993 18 - 38 38 - 38 4994 19 - - 39 39 39 4995 } 4996 do_execsql_test joinB-363 { 4997 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 4998 FROM t1 4999 RIGHT JOIN t2 USING(a) 5000 FULL JOIN t3 USING(a) 5001 LEFT JOIN t4 USING(a) 5002 LEFT JOIN t5 USING(a) 5003 ORDER BY 1 NULLS FIRST; 5004 } { 5005 - - - - - - 5006 - - - - - - 5007 11 - - 11 11 - 5008 12 12 12 12 - - 5009 13 - 13 13 13 - 5010 15 15 15 15 15 15 5011 17 - - 17 - 17 5012 18 - 18 18 - 18 5013 19 - - 19 19 19 5014 } 5015 do_execsql_test joinB-364 { 5016 SELECT a, c, d, e, f, g 5017 FROM t1 5018 RIGHT JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 5019 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 5020 WHERE a<=18 5021 ORDER BY 1 NULLS FIRST; 5022 } { 5023 11 31 - 31 31 - 5024 12 32 32 32 - - 5025 13 - 33 33 33 - 5026 15 35 35 35 35 35 5027 17 37 - 37 - - 5028 18 - 38 38 - - 5029 } 5030 do_execsql_test joinB-365 { 5031 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5032 FROM t1 5033 RIGHT JOIN t2 USING(a) 5034 FULL JOIN t3 USING(a) 5035 LEFT JOIN t4 USING(a) 5036 RIGHT JOIN t5 USING(a) 5037 ORDER BY 1 NULLS FIRST; 5038 } { 5039 15 15 15 15 15 15 5040 17 - - 17 - 17 5041 18 - 18 18 - 18 5042 19 - - 19 19 19 5043 } 5044 do_execsql_test joinB-366 { 5045 SELECT a, b, c, d, e, f, g 5046 FROM t1 5047 RIGHT JOIN t2 USING(a,b) 5048 FULL JOIN t3 USING(a,b) 5049 LEFT JOIN t4 USING(a,b) 5050 RIGHT JOIN t5 USING(a,b) 5051 WHERE d<>33 OR d IS NULL 5052 ORDER BY 1 NULLS FIRST; 5053 } { 5054 15 25 35 35 35 35 35 5055 17 27 - - 37 - 37 5056 18 28 - 38 38 - 38 5057 19 29 - - 39 39 39 5058 } 5059 do_execsql_test joinB-367 { 5060 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5061 FROM t1 5062 RIGHT JOIN t2 USING(a) 5063 FULL JOIN t3 USING(a) 5064 LEFT JOIN t4 USING(a) 5065 FULL JOIN t5 USING(a) 5066 ORDER BY 1 NULLS FIRST; 5067 } { 5068 - - - - - - 5069 - - - - - - 5070 11 - - 11 11 - 5071 12 12 12 12 - - 5072 13 - 13 13 13 - 5073 15 15 15 15 15 15 5074 17 - - 17 - 17 5075 18 - 18 18 - 18 5076 19 - - 19 19 19 5077 } 5078 do_execsql_test joinB-368 { 5079 SELECT b, c, d, e, f, g 5080 FROM t1 5081 NATURAL RIGHT JOIN t2 5082 NATURAL FULL JOIN t3 5083 NATURAL LEFT JOIN t4 5084 NATURAL FULL JOIN t5 5085 WHERE b BETWEEN 12 AND 17 5086 ORDER BY 1 NULLS FIRST; 5087 } { 5088 } 5089 do_execsql_test joinB-369 { 5090 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5091 FROM t1 5092 RIGHT JOIN t2 USING(a) 5093 FULL JOIN t3 USING(a) 5094 RIGHT JOIN t4 USING(a) 5095 INNER JOIN t5 USING(a) 5096 ORDER BY 1 NULLS FIRST; 5097 } { 5098 15 15 15 15 15 15 5099 19 - - 19 19 19 5100 } 5101 do_execsql_test joinB-370 { 5102 SELECT a, c, d, e, f, g 5103 FROM t1 5104 RIGHT JOIN t2 USING(a,b) 5105 FULL JOIN t3 USING(a,b) 5106 RIGHT JOIN t4 USING(a,b) 5107 INNER JOIN t5 USING(a,b) 5108 WHERE a<>13 5109 ORDER BY 1 NULLS FIRST; 5110 } { 5111 15 35 35 35 35 35 5112 19 - - 39 39 39 5113 } 5114 do_execsql_test joinB-371 { 5115 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5116 FROM t1 5117 RIGHT JOIN t2 USING(a) 5118 FULL JOIN t3 USING(a) 5119 RIGHT JOIN t4 USING(a) 5120 LEFT JOIN t5 USING(a) 5121 ORDER BY 1 NULLS FIRST; 5122 } { 5123 11 - - 11 11 - 5124 13 - 13 13 13 - 5125 15 15 15 15 15 15 5126 19 - - 19 19 19 5127 } 5128 do_execsql_test joinB-372 { 5129 SELECT a, c, d, e, f, g 5130 FROM t1 5131 RIGHT JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 5132 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 5133 WHERE a<=18 5134 ORDER BY 1 NULLS FIRST; 5135 } { 5136 11 31 - 31 31 - 5137 13 - 33 33 33 - 5138 15 35 35 35 35 35 5139 } 5140 do_execsql_test joinB-373 { 5141 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5142 FROM t1 5143 RIGHT JOIN t2 USING(a) 5144 FULL JOIN t3 USING(a) 5145 RIGHT JOIN t4 USING(a) 5146 RIGHT JOIN t5 USING(a) 5147 ORDER BY 1 NULLS FIRST; 5148 } { 5149 15 15 15 15 15 15 5150 17 - - - - 17 5151 18 - - - - 18 5152 19 - - 19 19 19 5153 } 5154 do_execsql_test joinB-374 { 5155 SELECT a, b, c, d, e, f, g 5156 FROM t1 5157 RIGHT JOIN t2 USING(a,b) 5158 FULL JOIN t3 USING(a,b) 5159 RIGHT JOIN t4 USING(a,b) 5160 RIGHT JOIN t5 USING(a,b) 5161 WHERE d<>33 OR d IS NULL 5162 ORDER BY 1 NULLS FIRST; 5163 } { 5164 15 25 35 35 35 35 35 5165 17 27 - - - - 37 5166 18 28 - - - - 38 5167 19 29 - - 39 39 39 5168 } 5169 do_execsql_test joinB-375 { 5170 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5171 FROM t1 5172 RIGHT JOIN t2 USING(a) 5173 FULL JOIN t3 USING(a) 5174 RIGHT JOIN t4 USING(a) 5175 FULL JOIN t5 USING(a) 5176 ORDER BY 1 NULLS FIRST; 5177 } { 5178 11 - - 11 11 - 5179 13 - 13 13 13 - 5180 15 15 15 15 15 15 5181 17 - - - - 17 5182 18 - - - - 18 5183 19 - - 19 19 19 5184 } 5185 do_execsql_test joinB-376 { 5186 SELECT b, c, d, e, f, g 5187 FROM t1 5188 NATURAL RIGHT JOIN t2 5189 NATURAL FULL JOIN t3 5190 NATURAL RIGHT JOIN t4 5191 NATURAL FULL JOIN t5 5192 WHERE b BETWEEN 12 AND 17 5193 ORDER BY 1 NULLS FIRST; 5194 } { 5195 } 5196 do_execsql_test joinB-377 { 5197 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5198 FROM t1 5199 RIGHT JOIN t2 USING(a) 5200 FULL JOIN t3 USING(a) 5201 FULL JOIN t4 USING(a) 5202 INNER JOIN t5 USING(a) 5203 ORDER BY 1 NULLS FIRST; 5204 } { 5205 15 15 15 15 15 15 5206 17 - - 17 - 17 5207 18 - 18 18 - 18 5208 19 - - 19 19 19 5209 } 5210 do_execsql_test joinB-378 { 5211 SELECT a, c, d, e, f, g 5212 FROM t1 5213 RIGHT JOIN t2 USING(a,b) 5214 FULL JOIN t3 USING(a,b) 5215 FULL JOIN t4 USING(a,b) 5216 INNER JOIN t5 USING(a,b) 5217 WHERE a<>13 5218 ORDER BY 1 NULLS FIRST; 5219 } { 5220 15 35 35 35 35 35 5221 17 - - 37 - 37 5222 18 - 38 38 - 38 5223 19 - - 39 39 39 5224 } 5225 do_execsql_test joinB-379 { 5226 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5227 FROM t1 5228 RIGHT JOIN t2 USING(a) 5229 FULL JOIN t3 USING(a) 5230 FULL JOIN t4 USING(a) 5231 LEFT JOIN t5 USING(a) 5232 ORDER BY 1 NULLS FIRST; 5233 } { 5234 - - - - - - 5235 - - - - - - 5236 11 - - 11 11 - 5237 12 12 12 12 - - 5238 13 - 13 13 13 - 5239 15 15 15 15 15 15 5240 17 - - 17 - 17 5241 18 - 18 18 - 18 5242 19 - - 19 19 19 5243 } 5244 do_execsql_test joinB-380 { 5245 SELECT a, c, d, e, f, g 5246 FROM t1 5247 RIGHT JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 5248 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 5249 WHERE a<=18 5250 ORDER BY 1 NULLS FIRST; 5251 } { 5252 11 31 - 31 31 - 5253 12 32 32 32 - - 5254 13 - 33 33 33 - 5255 15 35 35 35 35 35 5256 17 37 - 37 - - 5257 18 - 38 38 - - 5258 } 5259 do_execsql_test joinB-381 { 5260 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5261 FROM t1 5262 RIGHT JOIN t2 USING(a) 5263 FULL JOIN t3 USING(a) 5264 FULL JOIN t4 USING(a) 5265 RIGHT JOIN t5 USING(a) 5266 ORDER BY 1 NULLS FIRST; 5267 } { 5268 15 15 15 15 15 15 5269 17 - - 17 - 17 5270 18 - 18 18 - 18 5271 19 - - 19 19 19 5272 } 5273 do_execsql_test joinB-382 { 5274 SELECT a, b, c, d, e, f, g 5275 FROM t1 5276 RIGHT JOIN t2 USING(a,b) 5277 FULL JOIN t3 USING(a,b) 5278 FULL JOIN t4 USING(a,b) 5279 RIGHT JOIN t5 USING(a,b) 5280 WHERE d<>33 OR d IS NULL 5281 ORDER BY 1 NULLS FIRST; 5282 } { 5283 15 25 35 35 35 35 35 5284 17 27 - - 37 - 37 5285 18 28 - 38 38 - 38 5286 19 29 - - 39 39 39 5287 } 5288 do_execsql_test joinB-383 { 5289 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5290 FROM t1 5291 RIGHT JOIN t2 USING(a) 5292 FULL JOIN t3 USING(a) 5293 FULL JOIN t4 USING(a) 5294 FULL JOIN t5 USING(a) 5295 ORDER BY 1 NULLS FIRST; 5296 } { 5297 - - - - - - 5298 - - - - - - 5299 11 - - 11 11 - 5300 12 12 12 12 - - 5301 13 - 13 13 13 - 5302 15 15 15 15 15 15 5303 17 - - 17 - 17 5304 18 - 18 18 - 18 5305 19 - - 19 19 19 5306 } 5307 do_execsql_test joinB-384 { 5308 SELECT b, c, d, e, f, g 5309 FROM t1 5310 NATURAL RIGHT JOIN t2 5311 NATURAL FULL JOIN t3 5312 NATURAL FULL JOIN t4 5313 NATURAL FULL JOIN t5 5314 WHERE b BETWEEN 12 AND 17 5315 ORDER BY 1 NULLS FIRST; 5316 } { 5317 } 5318 do_execsql_test joinB-385 { 5319 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5320 FROM t1 5321 FULL JOIN t2 USING(a) 5322 INNER JOIN t3 USING(a) 5323 INNER JOIN t4 USING(a) 5324 INNER JOIN t5 USING(a) 5325 ORDER BY 1 NULLS FIRST; 5326 } { 5327 15 15 15 15 15 15 5328 } 5329 do_execsql_test joinB-386 { 5330 SELECT a, c, d, e, f, g 5331 FROM t1 5332 FULL JOIN t2 USING(a,b) 5333 INNER JOIN t3 USING(a,b) 5334 INNER JOIN t4 USING(a,b) 5335 INNER JOIN t5 USING(a,b) 5336 WHERE a<>13 5337 ORDER BY 1 NULLS FIRST; 5338 } { 5339 15 35 35 35 35 35 5340 } 5341 do_execsql_test joinB-387 { 5342 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5343 FROM t1 5344 FULL JOIN t2 USING(a) 5345 INNER JOIN t3 USING(a) 5346 INNER JOIN t4 USING(a) 5347 LEFT JOIN t5 USING(a) 5348 ORDER BY 1 NULLS FIRST; 5349 } { 5350 11 11 - 11 11 - 5351 13 - 13 13 13 - 5352 15 15 15 15 15 15 5353 } 5354 do_execsql_test joinB-388 { 5355 SELECT a, c, d, e, f, g 5356 FROM t1 5357 FULL JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 5358 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 5359 WHERE a<=18 5360 ORDER BY 1 NULLS FIRST; 5361 } { 5362 11 31 - - 31 - 5363 13 - 33 33 33 - 5364 15 35 35 35 35 35 5365 } 5366 do_execsql_test joinB-389 { 5367 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5368 FROM t1 5369 FULL JOIN t2 USING(a) 5370 INNER JOIN t3 USING(a) 5371 INNER JOIN t4 USING(a) 5372 RIGHT JOIN t5 USING(a) 5373 ORDER BY 1 NULLS FIRST; 5374 } { 5375 15 15 15 15 15 15 5376 17 - - - - 17 5377 18 - - - - 18 5378 19 - - - - 19 5379 } 5380 do_execsql_test joinB-390 { 5381 SELECT a, b, c, d, e, f, g 5382 FROM t1 5383 FULL JOIN t2 USING(a,b) 5384 INNER JOIN t3 USING(a,b) 5385 INNER JOIN t4 USING(a,b) 5386 RIGHT JOIN t5 USING(a,b) 5387 WHERE d<>33 OR d IS NULL 5388 ORDER BY 1 NULLS FIRST; 5389 } { 5390 15 25 35 35 35 35 35 5391 17 27 - - - - 37 5392 18 28 - - - - 38 5393 19 29 - - - - 39 5394 } 5395 do_execsql_test joinB-391 { 5396 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5397 FROM t1 5398 FULL JOIN t2 USING(a) 5399 INNER JOIN t3 USING(a) 5400 INNER JOIN t4 USING(a) 5401 FULL JOIN t5 USING(a) 5402 ORDER BY 1 NULLS FIRST; 5403 } { 5404 11 11 - 11 11 - 5405 13 - 13 13 13 - 5406 15 15 15 15 15 15 5407 17 - - - - 17 5408 18 - - - - 18 5409 19 - - - - 19 5410 } 5411 do_execsql_test joinB-392 { 5412 SELECT b, c, d, e, f, g 5413 FROM t1 5414 NATURAL FULL JOIN t2 5415 NATURAL INNER JOIN t3 5416 NATURAL INNER JOIN t4 5417 NATURAL FULL JOIN t5 5418 WHERE b BETWEEN 12 AND 17 5419 ORDER BY 1 NULLS FIRST; 5420 } { 5421 } 5422 do_execsql_test joinB-393 { 5423 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5424 FROM t1 5425 FULL JOIN t2 USING(a) 5426 INNER JOIN t3 USING(a) 5427 LEFT JOIN t4 USING(a) 5428 INNER JOIN t5 USING(a) 5429 ORDER BY 1 NULLS FIRST; 5430 } { 5431 15 15 15 15 15 15 5432 17 17 - 17 - 17 5433 18 - 18 18 - 18 5434 } 5435 do_execsql_test joinB-394 { 5436 SELECT a, c, d, e, f, g 5437 FROM t1 5438 FULL JOIN t2 USING(a,b) 5439 INNER JOIN t3 USING(a,b) 5440 LEFT JOIN t4 USING(a,b) 5441 INNER JOIN t5 USING(a,b) 5442 WHERE a<>13 5443 ORDER BY 1 NULLS FIRST; 5444 } { 5445 15 35 35 35 35 35 5446 17 37 - 37 - 37 5447 18 - 38 38 - 38 5448 } 5449 do_execsql_test joinB-395 { 5450 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5451 FROM t1 5452 FULL JOIN t2 USING(a) 5453 INNER JOIN t3 USING(a) 5454 LEFT JOIN t4 USING(a) 5455 LEFT JOIN t5 USING(a) 5456 ORDER BY 1 NULLS FIRST; 5457 } { 5458 11 11 - 11 11 - 5459 12 12 12 12 - - 5460 13 - 13 13 13 - 5461 15 15 15 15 15 15 5462 17 17 - 17 - 17 5463 18 - 18 18 - 18 5464 } 5465 do_execsql_test joinB-396 { 5466 SELECT a, c, d, e, f, g 5467 FROM t1 5468 FULL JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 5469 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 5470 WHERE a<=18 5471 ORDER BY 1 NULLS FIRST; 5472 } { 5473 11 31 - - 31 - 5474 12 32 32 32 - - 5475 13 - 33 33 33 - 5476 15 35 35 35 35 35 5477 17 37 - - - - 5478 18 - 38 38 - - 5479 } 5480 do_execsql_test joinB-397 { 5481 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5482 FROM t1 5483 FULL JOIN t2 USING(a) 5484 INNER JOIN t3 USING(a) 5485 LEFT JOIN t4 USING(a) 5486 RIGHT JOIN t5 USING(a) 5487 ORDER BY 1 NULLS FIRST; 5488 } { 5489 15 15 15 15 15 15 5490 17 17 - 17 - 17 5491 18 - 18 18 - 18 5492 19 - - - - 19 5493 } 5494 do_execsql_test joinB-398 { 5495 SELECT a, b, c, d, e, f, g 5496 FROM t1 5497 FULL JOIN t2 USING(a,b) 5498 INNER JOIN t3 USING(a,b) 5499 LEFT JOIN t4 USING(a,b) 5500 RIGHT JOIN t5 USING(a,b) 5501 WHERE d<>33 OR d IS NULL 5502 ORDER BY 1 NULLS FIRST; 5503 } { 5504 15 25 35 35 35 35 35 5505 17 27 37 - 37 - 37 5506 18 28 - 38 38 - 38 5507 19 29 - - - - 39 5508 } 5509 do_execsql_test joinB-399 { 5510 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5511 FROM t1 5512 FULL JOIN t2 USING(a) 5513 INNER JOIN t3 USING(a) 5514 LEFT JOIN t4 USING(a) 5515 FULL JOIN t5 USING(a) 5516 ORDER BY 1 NULLS FIRST; 5517 } { 5518 11 11 - 11 11 - 5519 12 12 12 12 - - 5520 13 - 13 13 13 - 5521 15 15 15 15 15 15 5522 17 17 - 17 - 17 5523 18 - 18 18 - 18 5524 19 - - - - 19 5525 } 5526 do_execsql_test joinB-400 { 5527 SELECT b, c, d, e, f, g 5528 FROM t1 5529 NATURAL FULL JOIN t2 5530 NATURAL INNER JOIN t3 5531 NATURAL LEFT JOIN t4 5532 NATURAL FULL JOIN t5 5533 WHERE b BETWEEN 12 AND 17 5534 ORDER BY 1 NULLS FIRST; 5535 } { 5536 } 5537 do_execsql_test joinB-401 { 5538 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5539 FROM t1 5540 FULL JOIN t2 USING(a) 5541 INNER JOIN t3 USING(a) 5542 RIGHT JOIN t4 USING(a) 5543 INNER JOIN t5 USING(a) 5544 ORDER BY 1 NULLS FIRST; 5545 } { 5546 15 15 15 15 15 15 5547 19 - - - 19 19 5548 } 5549 do_execsql_test joinB-402 { 5550 SELECT a, c, d, e, f, g 5551 FROM t1 5552 FULL JOIN t2 USING(a,b) 5553 INNER JOIN t3 USING(a,b) 5554 RIGHT JOIN t4 USING(a,b) 5555 INNER JOIN t5 USING(a,b) 5556 WHERE a<>13 5557 ORDER BY 1 NULLS FIRST; 5558 } { 5559 15 35 35 35 35 35 5560 19 - - - 39 39 5561 } 5562 do_execsql_test joinB-403 { 5563 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5564 FROM t1 5565 FULL JOIN t2 USING(a) 5566 INNER JOIN t3 USING(a) 5567 RIGHT JOIN t4 USING(a) 5568 LEFT JOIN t5 USING(a) 5569 ORDER BY 1 NULLS FIRST; 5570 } { 5571 11 11 - 11 11 - 5572 13 - 13 13 13 - 5573 15 15 15 15 15 15 5574 19 - - - 19 19 5575 } 5576 do_execsql_test joinB-404 { 5577 SELECT a, c, d, e, f, g 5578 FROM t1 5579 FULL JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 5580 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 5581 WHERE a<=18 5582 ORDER BY 1 NULLS FIRST; 5583 } { 5584 11 31 - - 31 - 5585 13 - 33 33 33 - 5586 15 35 35 35 35 35 5587 } 5588 do_execsql_test joinB-405 { 5589 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5590 FROM t1 5591 FULL JOIN t2 USING(a) 5592 INNER JOIN t3 USING(a) 5593 RIGHT JOIN t4 USING(a) 5594 RIGHT JOIN t5 USING(a) 5595 ORDER BY 1 NULLS FIRST; 5596 } { 5597 15 15 15 15 15 15 5598 17 - - - - 17 5599 18 - - - - 18 5600 19 - - - 19 19 5601 } 5602 do_execsql_test joinB-406 { 5603 SELECT a, b, c, d, e, f, g 5604 FROM t1 5605 FULL JOIN t2 USING(a,b) 5606 INNER JOIN t3 USING(a,b) 5607 RIGHT JOIN t4 USING(a,b) 5608 RIGHT JOIN t5 USING(a,b) 5609 WHERE d<>33 OR d IS NULL 5610 ORDER BY 1 NULLS FIRST; 5611 } { 5612 15 25 35 35 35 35 35 5613 17 27 - - - - 37 5614 18 28 - - - - 38 5615 19 29 - - - 39 39 5616 } 5617 do_execsql_test joinB-407 { 5618 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5619 FROM t1 5620 FULL JOIN t2 USING(a) 5621 INNER JOIN t3 USING(a) 5622 RIGHT JOIN t4 USING(a) 5623 FULL JOIN t5 USING(a) 5624 ORDER BY 1 NULLS FIRST; 5625 } { 5626 11 11 - 11 11 - 5627 13 - 13 13 13 - 5628 15 15 15 15 15 15 5629 17 - - - - 17 5630 18 - - - - 18 5631 19 - - - 19 19 5632 } 5633 do_execsql_test joinB-408 { 5634 SELECT b, c, d, e, f, g 5635 FROM t1 5636 NATURAL FULL JOIN t2 5637 NATURAL INNER JOIN t3 5638 NATURAL RIGHT JOIN t4 5639 NATURAL FULL JOIN t5 5640 WHERE b BETWEEN 12 AND 17 5641 ORDER BY 1 NULLS FIRST; 5642 } { 5643 } 5644 do_execsql_test joinB-409 { 5645 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5646 FROM t1 5647 FULL JOIN t2 USING(a) 5648 INNER JOIN t3 USING(a) 5649 FULL JOIN t4 USING(a) 5650 INNER JOIN t5 USING(a) 5651 ORDER BY 1 NULLS FIRST; 5652 } { 5653 15 15 15 15 15 15 5654 17 17 - 17 - 17 5655 18 - 18 18 - 18 5656 19 - - - 19 19 5657 } 5658 do_execsql_test joinB-410 { 5659 SELECT a, c, d, e, f, g 5660 FROM t1 5661 FULL JOIN t2 USING(a,b) 5662 INNER JOIN t3 USING(a,b) 5663 FULL JOIN t4 USING(a,b) 5664 INNER JOIN t5 USING(a,b) 5665 WHERE a<>13 5666 ORDER BY 1 NULLS FIRST; 5667 } { 5668 15 35 35 35 35 35 5669 17 37 - 37 - 37 5670 18 - 38 38 - 38 5671 19 - - - 39 39 5672 } 5673 do_execsql_test joinB-411 { 5674 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5675 FROM t1 5676 FULL JOIN t2 USING(a) 5677 INNER JOIN t3 USING(a) 5678 FULL JOIN t4 USING(a) 5679 LEFT JOIN t5 USING(a) 5680 ORDER BY 1 NULLS FIRST; 5681 } { 5682 11 11 - 11 11 - 5683 12 12 12 12 - - 5684 13 - 13 13 13 - 5685 15 15 15 15 15 15 5686 17 17 - 17 - 17 5687 18 - 18 18 - 18 5688 19 - - - 19 19 5689 } 5690 do_execsql_test joinB-412 { 5691 SELECT a, c, d, e, f, g 5692 FROM t1 5693 FULL JOIN (t2 INNER JOIN t3 USING(a)) USING(a) 5694 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 5695 WHERE a<=18 5696 ORDER BY 1 NULLS FIRST; 5697 } { 5698 11 31 - - 31 - 5699 12 32 32 32 - - 5700 13 - 33 33 33 - 5701 15 35 35 35 35 35 5702 17 37 - - - - 5703 18 - 38 38 - - 5704 } 5705 do_execsql_test joinB-413 { 5706 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5707 FROM t1 5708 FULL JOIN t2 USING(a) 5709 INNER JOIN t3 USING(a) 5710 FULL JOIN t4 USING(a) 5711 RIGHT JOIN t5 USING(a) 5712 ORDER BY 1 NULLS FIRST; 5713 } { 5714 15 15 15 15 15 15 5715 17 17 - 17 - 17 5716 18 - 18 18 - 18 5717 19 - - - 19 19 5718 } 5719 do_execsql_test joinB-414 { 5720 SELECT a, b, c, d, e, f, g 5721 FROM t1 5722 FULL JOIN t2 USING(a,b) 5723 INNER JOIN t3 USING(a,b) 5724 FULL JOIN t4 USING(a,b) 5725 RIGHT JOIN t5 USING(a,b) 5726 WHERE d<>33 OR d IS NULL 5727 ORDER BY 1 NULLS FIRST; 5728 } { 5729 15 25 35 35 35 35 35 5730 17 27 37 - 37 - 37 5731 18 28 - 38 38 - 38 5732 19 29 - - - 39 39 5733 } 5734 do_execsql_test joinB-415 { 5735 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5736 FROM t1 5737 FULL JOIN t2 USING(a) 5738 INNER JOIN t3 USING(a) 5739 FULL JOIN t4 USING(a) 5740 FULL JOIN t5 USING(a) 5741 ORDER BY 1 NULLS FIRST; 5742 } { 5743 11 11 - 11 11 - 5744 12 12 12 12 - - 5745 13 - 13 13 13 - 5746 15 15 15 15 15 15 5747 17 17 - 17 - 17 5748 18 - 18 18 - 18 5749 19 - - - 19 19 5750 } 5751 do_execsql_test joinB-416 { 5752 SELECT b, c, d, e, f, g 5753 FROM t1 5754 NATURAL FULL JOIN t2 5755 NATURAL INNER JOIN t3 5756 NATURAL FULL JOIN t4 5757 NATURAL FULL JOIN t5 5758 WHERE b BETWEEN 12 AND 17 5759 ORDER BY 1 NULLS FIRST; 5760 } { 5761 } 5762 do_execsql_test joinB-417 { 5763 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5764 FROM t1 5765 FULL JOIN t2 USING(a) 5766 LEFT JOIN t3 USING(a) 5767 INNER JOIN t4 USING(a) 5768 INNER JOIN t5 USING(a) 5769 ORDER BY 1 NULLS FIRST; 5770 } { 5771 15 15 15 15 15 15 5772 } 5773 do_execsql_test joinB-418 { 5774 SELECT a, c, d, e, f, g 5775 FROM t1 5776 FULL JOIN t2 USING(a,b) 5777 LEFT JOIN t3 USING(a,b) 5778 INNER JOIN t4 USING(a,b) 5779 INNER JOIN t5 USING(a,b) 5780 WHERE a<>13 5781 ORDER BY 1 NULLS FIRST; 5782 } { 5783 15 35 35 35 35 35 5784 } 5785 do_execsql_test joinB-419 { 5786 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5787 FROM t1 5788 FULL JOIN t2 USING(a) 5789 LEFT JOIN t3 USING(a) 5790 INNER JOIN t4 USING(a) 5791 LEFT JOIN t5 USING(a) 5792 ORDER BY 1 NULLS FIRST; 5793 } { 5794 11 11 - 11 11 - 5795 13 - 13 13 13 - 5796 15 15 15 15 15 15 5797 } 5798 do_execsql_test joinB-420 { 5799 SELECT a, c, d, e, f, g 5800 FROM t1 5801 FULL JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 5802 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 5803 WHERE a<=18 5804 ORDER BY 1 NULLS FIRST; 5805 } { 5806 11 31 - - 31 - 5807 13 - 33 33 33 - 5808 15 35 35 35 35 35 5809 } 5810 do_execsql_test joinB-421 { 5811 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5812 FROM t1 5813 FULL JOIN t2 USING(a) 5814 LEFT JOIN t3 USING(a) 5815 INNER JOIN t4 USING(a) 5816 RIGHT JOIN t5 USING(a) 5817 ORDER BY 1 NULLS FIRST; 5818 } { 5819 15 15 15 15 15 15 5820 17 - - - - 17 5821 18 - - - - 18 5822 19 - - - - 19 5823 } 5824 do_execsql_test joinB-422 { 5825 SELECT a, b, c, d, e, f, g 5826 FROM t1 5827 FULL JOIN t2 USING(a,b) 5828 LEFT JOIN t3 USING(a,b) 5829 INNER JOIN t4 USING(a,b) 5830 RIGHT JOIN t5 USING(a,b) 5831 WHERE d<>33 OR d IS NULL 5832 ORDER BY 1 NULLS FIRST; 5833 } { 5834 15 25 35 35 35 35 35 5835 17 27 - - - - 37 5836 18 28 - - - - 38 5837 19 29 - - - - 39 5838 } 5839 do_execsql_test joinB-423 { 5840 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5841 FROM t1 5842 FULL JOIN t2 USING(a) 5843 LEFT JOIN t3 USING(a) 5844 INNER JOIN t4 USING(a) 5845 FULL JOIN t5 USING(a) 5846 ORDER BY 1 NULLS FIRST; 5847 } { 5848 11 11 - 11 11 - 5849 13 - 13 13 13 - 5850 15 15 15 15 15 15 5851 17 - - - - 17 5852 18 - - - - 18 5853 19 - - - - 19 5854 } 5855 do_execsql_test joinB-424 { 5856 SELECT b, c, d, e, f, g 5857 FROM t1 5858 NATURAL FULL JOIN t2 5859 NATURAL LEFT JOIN t3 5860 NATURAL INNER JOIN t4 5861 NATURAL FULL JOIN t5 5862 WHERE b BETWEEN 12 AND 17 5863 ORDER BY 1 NULLS FIRST; 5864 } { 5865 } 5866 do_execsql_test joinB-425 { 5867 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5868 FROM t1 5869 FULL JOIN t2 USING(a) 5870 LEFT JOIN t3 USING(a) 5871 LEFT JOIN t4 USING(a) 5872 INNER JOIN t5 USING(a) 5873 ORDER BY 1 NULLS FIRST; 5874 } { 5875 15 15 15 15 15 15 5876 17 17 - 17 - 17 5877 18 - 18 18 - 18 5878 } 5879 do_execsql_test joinB-426 { 5880 SELECT a, c, d, e, f, g 5881 FROM t1 5882 FULL JOIN t2 USING(a,b) 5883 LEFT JOIN t3 USING(a,b) 5884 LEFT JOIN t4 USING(a,b) 5885 INNER JOIN t5 USING(a,b) 5886 WHERE a<>13 5887 ORDER BY 1 NULLS FIRST; 5888 } { 5889 15 35 35 35 35 35 5890 17 37 - 37 - 37 5891 18 - 38 38 - 38 5892 } 5893 do_execsql_test joinB-427 { 5894 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5895 FROM t1 5896 FULL JOIN t2 USING(a) 5897 LEFT JOIN t3 USING(a) 5898 LEFT JOIN t4 USING(a) 5899 LEFT JOIN t5 USING(a) 5900 ORDER BY 1 NULLS FIRST; 5901 } { 5902 - - - - - - 5903 11 11 - 11 11 - 5904 12 12 12 12 - - 5905 13 - 13 13 13 - 5906 15 15 15 15 15 15 5907 17 17 - 17 - 17 5908 18 - 18 18 - 18 5909 } 5910 do_execsql_test joinB-428 { 5911 SELECT a, c, d, e, f, g 5912 FROM t1 5913 FULL JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 5914 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 5915 WHERE a<=18 5916 ORDER BY 1 NULLS FIRST; 5917 } { 5918 11 31 - - 31 - 5919 12 32 32 32 - - 5920 13 - 33 33 33 - 5921 15 35 35 35 35 35 5922 17 37 - - - - 5923 18 - 38 38 - - 5924 } 5925 do_execsql_test joinB-429 { 5926 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5927 FROM t1 5928 FULL JOIN t2 USING(a) 5929 LEFT JOIN t3 USING(a) 5930 LEFT JOIN t4 USING(a) 5931 RIGHT JOIN t5 USING(a) 5932 ORDER BY 1 NULLS FIRST; 5933 } { 5934 15 15 15 15 15 15 5935 17 17 - 17 - 17 5936 18 - 18 18 - 18 5937 19 - - - - 19 5938 } 5939 do_execsql_test joinB-430 { 5940 SELECT a, b, c, d, e, f, g 5941 FROM t1 5942 FULL JOIN t2 USING(a,b) 5943 LEFT JOIN t3 USING(a,b) 5944 LEFT JOIN t4 USING(a,b) 5945 RIGHT JOIN t5 USING(a,b) 5946 WHERE d<>33 OR d IS NULL 5947 ORDER BY 1 NULLS FIRST; 5948 } { 5949 15 25 35 35 35 35 35 5950 17 27 37 - 37 - 37 5951 18 28 - 38 38 - 38 5952 19 29 - - - - 39 5953 } 5954 do_execsql_test joinB-431 { 5955 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5956 FROM t1 5957 FULL JOIN t2 USING(a) 5958 LEFT JOIN t3 USING(a) 5959 LEFT JOIN t4 USING(a) 5960 FULL JOIN t5 USING(a) 5961 ORDER BY 1 NULLS FIRST; 5962 } { 5963 - - - - - - 5964 11 11 - 11 11 - 5965 12 12 12 12 - - 5966 13 - 13 13 13 - 5967 15 15 15 15 15 15 5968 17 17 - 17 - 17 5969 18 - 18 18 - 18 5970 19 - - - - 19 5971 } 5972 do_execsql_test joinB-432 { 5973 SELECT b, c, d, e, f, g 5974 FROM t1 5975 NATURAL FULL JOIN t2 5976 NATURAL LEFT JOIN t3 5977 NATURAL LEFT JOIN t4 5978 NATURAL FULL JOIN t5 5979 WHERE b BETWEEN 12 AND 17 5980 ORDER BY 1 NULLS FIRST; 5981 } { 5982 } 5983 do_execsql_test joinB-433 { 5984 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 5985 FROM t1 5986 FULL JOIN t2 USING(a) 5987 LEFT JOIN t3 USING(a) 5988 RIGHT JOIN t4 USING(a) 5989 INNER JOIN t5 USING(a) 5990 ORDER BY 1 NULLS FIRST; 5991 } { 5992 15 15 15 15 15 15 5993 19 - - - 19 19 5994 } 5995 do_execsql_test joinB-434 { 5996 SELECT a, c, d, e, f, g 5997 FROM t1 5998 FULL JOIN t2 USING(a,b) 5999 LEFT JOIN t3 USING(a,b) 6000 RIGHT JOIN t4 USING(a,b) 6001 INNER JOIN t5 USING(a,b) 6002 WHERE a<>13 6003 ORDER BY 1 NULLS FIRST; 6004 } { 6005 15 35 35 35 35 35 6006 19 - - - 39 39 6007 } 6008 do_execsql_test joinB-435 { 6009 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6010 FROM t1 6011 FULL JOIN t2 USING(a) 6012 LEFT JOIN t3 USING(a) 6013 RIGHT JOIN t4 USING(a) 6014 LEFT JOIN t5 USING(a) 6015 ORDER BY 1 NULLS FIRST; 6016 } { 6017 11 11 - 11 11 - 6018 13 - 13 13 13 - 6019 15 15 15 15 15 15 6020 19 - - - 19 19 6021 } 6022 do_execsql_test joinB-436 { 6023 SELECT a, c, d, e, f, g 6024 FROM t1 6025 FULL JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 6026 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 6027 WHERE a<=18 6028 ORDER BY 1 NULLS FIRST; 6029 } { 6030 11 31 - - 31 - 6031 13 - 33 33 33 - 6032 15 35 35 35 35 35 6033 } 6034 do_execsql_test joinB-437 { 6035 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6036 FROM t1 6037 FULL JOIN t2 USING(a) 6038 LEFT JOIN t3 USING(a) 6039 RIGHT JOIN t4 USING(a) 6040 RIGHT JOIN t5 USING(a) 6041 ORDER BY 1 NULLS FIRST; 6042 } { 6043 15 15 15 15 15 15 6044 17 - - - - 17 6045 18 - - - - 18 6046 19 - - - 19 19 6047 } 6048 do_execsql_test joinB-438 { 6049 SELECT a, b, c, d, e, f, g 6050 FROM t1 6051 FULL JOIN t2 USING(a,b) 6052 LEFT JOIN t3 USING(a,b) 6053 RIGHT JOIN t4 USING(a,b) 6054 RIGHT JOIN t5 USING(a,b) 6055 WHERE d<>33 OR d IS NULL 6056 ORDER BY 1 NULLS FIRST; 6057 } { 6058 15 25 35 35 35 35 35 6059 17 27 - - - - 37 6060 18 28 - - - - 38 6061 19 29 - - - 39 39 6062 } 6063 do_execsql_test joinB-439 { 6064 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6065 FROM t1 6066 FULL JOIN t2 USING(a) 6067 LEFT JOIN t3 USING(a) 6068 RIGHT JOIN t4 USING(a) 6069 FULL JOIN t5 USING(a) 6070 ORDER BY 1 NULLS FIRST; 6071 } { 6072 11 11 - 11 11 - 6073 13 - 13 13 13 - 6074 15 15 15 15 15 15 6075 17 - - - - 17 6076 18 - - - - 18 6077 19 - - - 19 19 6078 } 6079 do_execsql_test joinB-440 { 6080 SELECT b, c, d, e, f, g 6081 FROM t1 6082 NATURAL FULL JOIN t2 6083 NATURAL LEFT JOIN t3 6084 NATURAL RIGHT JOIN t4 6085 NATURAL FULL JOIN t5 6086 WHERE b BETWEEN 12 AND 17 6087 ORDER BY 1 NULLS FIRST; 6088 } { 6089 } 6090 do_execsql_test joinB-441 { 6091 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6092 FROM t1 6093 FULL JOIN t2 USING(a) 6094 LEFT JOIN t3 USING(a) 6095 FULL JOIN t4 USING(a) 6096 INNER JOIN t5 USING(a) 6097 ORDER BY 1 NULLS FIRST; 6098 } { 6099 15 15 15 15 15 15 6100 17 17 - 17 - 17 6101 18 - 18 18 - 18 6102 19 - - - 19 19 6103 } 6104 do_execsql_test joinB-442 { 6105 SELECT a, c, d, e, f, g 6106 FROM t1 6107 FULL JOIN t2 USING(a,b) 6108 LEFT JOIN t3 USING(a,b) 6109 FULL JOIN t4 USING(a,b) 6110 INNER JOIN t5 USING(a,b) 6111 WHERE a<>13 6112 ORDER BY 1 NULLS FIRST; 6113 } { 6114 15 35 35 35 35 35 6115 17 37 - 37 - 37 6116 18 - 38 38 - 38 6117 19 - - - 39 39 6118 } 6119 do_execsql_test joinB-443 { 6120 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6121 FROM t1 6122 FULL JOIN t2 USING(a) 6123 LEFT JOIN t3 USING(a) 6124 FULL JOIN t4 USING(a) 6125 LEFT JOIN t5 USING(a) 6126 ORDER BY 1 NULLS FIRST; 6127 } { 6128 - - - - - - 6129 11 11 - 11 11 - 6130 12 12 12 12 - - 6131 13 - 13 13 13 - 6132 15 15 15 15 15 15 6133 17 17 - 17 - 17 6134 18 - 18 18 - 18 6135 19 - - - 19 19 6136 } 6137 do_execsql_test joinB-444 { 6138 SELECT a, c, d, e, f, g 6139 FROM t1 6140 FULL JOIN (t2 LEFT JOIN t3 USING(a)) USING(a) 6141 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 6142 WHERE a<=18 6143 ORDER BY 1 NULLS FIRST; 6144 } { 6145 11 31 - - 31 - 6146 12 32 32 32 - - 6147 13 - 33 33 33 - 6148 15 35 35 35 35 35 6149 17 37 - - - - 6150 18 - 38 38 - - 6151 } 6152 do_execsql_test joinB-445 { 6153 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6154 FROM t1 6155 FULL JOIN t2 USING(a) 6156 LEFT JOIN t3 USING(a) 6157 FULL JOIN t4 USING(a) 6158 RIGHT JOIN t5 USING(a) 6159 ORDER BY 1 NULLS FIRST; 6160 } { 6161 15 15 15 15 15 15 6162 17 17 - 17 - 17 6163 18 - 18 18 - 18 6164 19 - - - 19 19 6165 } 6166 do_execsql_test joinB-446 { 6167 SELECT a, b, c, d, e, f, g 6168 FROM t1 6169 FULL JOIN t2 USING(a,b) 6170 LEFT JOIN t3 USING(a,b) 6171 FULL JOIN t4 USING(a,b) 6172 RIGHT JOIN t5 USING(a,b) 6173 WHERE d<>33 OR d IS NULL 6174 ORDER BY 1 NULLS FIRST; 6175 } { 6176 15 25 35 35 35 35 35 6177 17 27 37 - 37 - 37 6178 18 28 - 38 38 - 38 6179 19 29 - - - 39 39 6180 } 6181 do_execsql_test joinB-447 { 6182 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6183 FROM t1 6184 FULL JOIN t2 USING(a) 6185 LEFT JOIN t3 USING(a) 6186 FULL JOIN t4 USING(a) 6187 FULL JOIN t5 USING(a) 6188 ORDER BY 1 NULLS FIRST; 6189 } { 6190 - - - - - - 6191 11 11 - 11 11 - 6192 12 12 12 12 - - 6193 13 - 13 13 13 - 6194 15 15 15 15 15 15 6195 17 17 - 17 - 17 6196 18 - 18 18 - 18 6197 19 - - - 19 19 6198 } 6199 do_execsql_test joinB-448 { 6200 SELECT b, c, d, e, f, g 6201 FROM t1 6202 NATURAL FULL JOIN t2 6203 NATURAL LEFT JOIN t3 6204 NATURAL FULL JOIN t4 6205 NATURAL FULL JOIN t5 6206 WHERE b BETWEEN 12 AND 17 6207 ORDER BY 1 NULLS FIRST; 6208 } { 6209 } 6210 do_execsql_test joinB-449 { 6211 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6212 FROM t1 6213 FULL JOIN t2 USING(a) 6214 RIGHT JOIN t3 USING(a) 6215 INNER JOIN t4 USING(a) 6216 INNER JOIN t5 USING(a) 6217 ORDER BY 1 NULLS FIRST; 6218 } { 6219 15 15 15 15 15 15 6220 19 - - 19 19 19 6221 } 6222 do_execsql_test joinB-450 { 6223 SELECT a, c, d, e, f, g 6224 FROM t1 6225 FULL JOIN t2 USING(a,b) 6226 RIGHT JOIN t3 USING(a,b) 6227 INNER JOIN t4 USING(a,b) 6228 INNER JOIN t5 USING(a,b) 6229 WHERE a<>13 6230 ORDER BY 1 NULLS FIRST; 6231 } { 6232 15 35 35 35 35 35 6233 19 - - 39 39 39 6234 } 6235 do_execsql_test joinB-451 { 6236 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6237 FROM t1 6238 FULL JOIN t2 USING(a) 6239 RIGHT JOIN t3 USING(a) 6240 INNER JOIN t4 USING(a) 6241 LEFT JOIN t5 USING(a) 6242 ORDER BY 1 NULLS FIRST; 6243 } { 6244 11 11 - 11 11 - 6245 13 - 13 13 13 - 6246 15 15 15 15 15 15 6247 19 - - 19 19 19 6248 } 6249 do_execsql_test joinB-452 { 6250 SELECT a, c, d, e, f, g 6251 FROM t1 6252 FULL JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 6253 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 6254 WHERE a<=18 6255 ORDER BY 1 NULLS FIRST; 6256 } { 6257 11 31 - 31 31 - 6258 13 - 33 33 33 - 6259 15 35 35 35 35 35 6260 } 6261 do_execsql_test joinB-453 { 6262 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6263 FROM t1 6264 FULL JOIN t2 USING(a) 6265 RIGHT JOIN t3 USING(a) 6266 INNER JOIN t4 USING(a) 6267 RIGHT JOIN t5 USING(a) 6268 ORDER BY 1 NULLS FIRST; 6269 } { 6270 15 15 15 15 15 15 6271 17 - - - - 17 6272 18 - - - - 18 6273 19 - - 19 19 19 6274 } 6275 do_execsql_test joinB-454 { 6276 SELECT a, b, c, d, e, f, g 6277 FROM t1 6278 FULL JOIN t2 USING(a,b) 6279 RIGHT JOIN t3 USING(a,b) 6280 INNER JOIN t4 USING(a,b) 6281 RIGHT JOIN t5 USING(a,b) 6282 WHERE d<>33 OR d IS NULL 6283 ORDER BY 1 NULLS FIRST; 6284 } { 6285 15 25 35 35 35 35 35 6286 17 27 - - - - 37 6287 18 28 - - - - 38 6288 19 29 - - 39 39 39 6289 } 6290 do_execsql_test joinB-455 { 6291 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6292 FROM t1 6293 FULL JOIN t2 USING(a) 6294 RIGHT JOIN t3 USING(a) 6295 INNER JOIN t4 USING(a) 6296 FULL JOIN t5 USING(a) 6297 ORDER BY 1 NULLS FIRST; 6298 } { 6299 11 11 - 11 11 - 6300 13 - 13 13 13 - 6301 15 15 15 15 15 15 6302 17 - - - - 17 6303 18 - - - - 18 6304 19 - - 19 19 19 6305 } 6306 do_execsql_test joinB-456 { 6307 SELECT b, c, d, e, f, g 6308 FROM t1 6309 NATURAL FULL JOIN t2 6310 NATURAL RIGHT JOIN t3 6311 NATURAL INNER JOIN t4 6312 NATURAL FULL JOIN t5 6313 WHERE b BETWEEN 12 AND 17 6314 ORDER BY 1 NULLS FIRST; 6315 } { 6316 } 6317 do_execsql_test joinB-457 { 6318 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6319 FROM t1 6320 FULL JOIN t2 USING(a) 6321 RIGHT JOIN t3 USING(a) 6322 LEFT JOIN t4 USING(a) 6323 INNER JOIN t5 USING(a) 6324 ORDER BY 1 NULLS FIRST; 6325 } { 6326 15 15 15 15 15 15 6327 17 17 - 17 - 17 6328 18 - 18 18 - 18 6329 19 - - 19 19 19 6330 } 6331 do_execsql_test joinB-458 { 6332 SELECT a, c, d, e, f, g 6333 FROM t1 6334 FULL JOIN t2 USING(a,b) 6335 RIGHT JOIN t3 USING(a,b) 6336 LEFT JOIN t4 USING(a,b) 6337 INNER JOIN t5 USING(a,b) 6338 WHERE a<>13 6339 ORDER BY 1 NULLS FIRST; 6340 } { 6341 15 35 35 35 35 35 6342 17 37 - 37 - 37 6343 18 - 38 38 - 38 6344 19 - - 39 39 39 6345 } 6346 do_execsql_test joinB-459 { 6347 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6348 FROM t1 6349 FULL JOIN t2 USING(a) 6350 RIGHT JOIN t3 USING(a) 6351 LEFT JOIN t4 USING(a) 6352 LEFT JOIN t5 USING(a) 6353 ORDER BY 1 NULLS FIRST; 6354 } { 6355 - - - - - - 6356 11 11 - 11 11 - 6357 12 12 12 12 - - 6358 13 - 13 13 13 - 6359 15 15 15 15 15 15 6360 17 17 - 17 - 17 6361 18 - 18 18 - 18 6362 19 - - 19 19 19 6363 } 6364 do_execsql_test joinB-460 { 6365 SELECT a, c, d, e, f, g 6366 FROM t1 6367 FULL JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 6368 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 6369 WHERE a<=18 6370 ORDER BY 1 NULLS FIRST; 6371 } { 6372 11 31 - 31 31 - 6373 12 32 32 32 - - 6374 13 - 33 33 33 - 6375 15 35 35 35 35 35 6376 17 37 - 37 - - 6377 18 - 38 38 - - 6378 } 6379 do_execsql_test joinB-461 { 6380 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6381 FROM t1 6382 FULL JOIN t2 USING(a) 6383 RIGHT JOIN t3 USING(a) 6384 LEFT JOIN t4 USING(a) 6385 RIGHT JOIN t5 USING(a) 6386 ORDER BY 1 NULLS FIRST; 6387 } { 6388 15 15 15 15 15 15 6389 17 17 - 17 - 17 6390 18 - 18 18 - 18 6391 19 - - 19 19 19 6392 } 6393 do_execsql_test joinB-462 { 6394 SELECT a, b, c, d, e, f, g 6395 FROM t1 6396 FULL JOIN t2 USING(a,b) 6397 RIGHT JOIN t3 USING(a,b) 6398 LEFT JOIN t4 USING(a,b) 6399 RIGHT JOIN t5 USING(a,b) 6400 WHERE d<>33 OR d IS NULL 6401 ORDER BY 1 NULLS FIRST; 6402 } { 6403 15 25 35 35 35 35 35 6404 17 27 37 - 37 - 37 6405 18 28 - 38 38 - 38 6406 19 29 - - 39 39 39 6407 } 6408 do_execsql_test joinB-463 { 6409 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6410 FROM t1 6411 FULL JOIN t2 USING(a) 6412 RIGHT JOIN t3 USING(a) 6413 LEFT JOIN t4 USING(a) 6414 FULL JOIN t5 USING(a) 6415 ORDER BY 1 NULLS FIRST; 6416 } { 6417 - - - - - - 6418 11 11 - 11 11 - 6419 12 12 12 12 - - 6420 13 - 13 13 13 - 6421 15 15 15 15 15 15 6422 17 17 - 17 - 17 6423 18 - 18 18 - 18 6424 19 - - 19 19 19 6425 } 6426 do_execsql_test joinB-464 { 6427 SELECT b, c, d, e, f, g 6428 FROM t1 6429 NATURAL FULL JOIN t2 6430 NATURAL RIGHT JOIN t3 6431 NATURAL LEFT JOIN t4 6432 NATURAL FULL JOIN t5 6433 WHERE b BETWEEN 12 AND 17 6434 ORDER BY 1 NULLS FIRST; 6435 } { 6436 } 6437 do_execsql_test joinB-465 { 6438 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6439 FROM t1 6440 FULL JOIN t2 USING(a) 6441 RIGHT JOIN t3 USING(a) 6442 RIGHT JOIN t4 USING(a) 6443 INNER JOIN t5 USING(a) 6444 ORDER BY 1 NULLS FIRST; 6445 } { 6446 15 15 15 15 15 15 6447 19 - - 19 19 19 6448 } 6449 do_execsql_test joinB-466 { 6450 SELECT a, c, d, e, f, g 6451 FROM t1 6452 FULL JOIN t2 USING(a,b) 6453 RIGHT JOIN t3 USING(a,b) 6454 RIGHT JOIN t4 USING(a,b) 6455 INNER JOIN t5 USING(a,b) 6456 WHERE a<>13 6457 ORDER BY 1 NULLS FIRST; 6458 } { 6459 15 35 35 35 35 35 6460 19 - - 39 39 39 6461 } 6462 do_execsql_test joinB-467 { 6463 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6464 FROM t1 6465 FULL JOIN t2 USING(a) 6466 RIGHT JOIN t3 USING(a) 6467 RIGHT JOIN t4 USING(a) 6468 LEFT JOIN t5 USING(a) 6469 ORDER BY 1 NULLS FIRST; 6470 } { 6471 11 11 - 11 11 - 6472 13 - 13 13 13 - 6473 15 15 15 15 15 15 6474 19 - - 19 19 19 6475 } 6476 do_execsql_test joinB-468 { 6477 SELECT a, c, d, e, f, g 6478 FROM t1 6479 FULL JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 6480 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 6481 WHERE a<=18 6482 ORDER BY 1 NULLS FIRST; 6483 } { 6484 11 31 - 31 31 - 6485 13 - 33 33 33 - 6486 15 35 35 35 35 35 6487 } 6488 do_execsql_test joinB-469 { 6489 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6490 FROM t1 6491 FULL JOIN t2 USING(a) 6492 RIGHT JOIN t3 USING(a) 6493 RIGHT JOIN t4 USING(a) 6494 RIGHT JOIN t5 USING(a) 6495 ORDER BY 1 NULLS FIRST; 6496 } { 6497 15 15 15 15 15 15 6498 17 - - - - 17 6499 18 - - - - 18 6500 19 - - 19 19 19 6501 } 6502 do_execsql_test joinB-470 { 6503 SELECT a, b, c, d, e, f, g 6504 FROM t1 6505 FULL JOIN t2 USING(a,b) 6506 RIGHT JOIN t3 USING(a,b) 6507 RIGHT JOIN t4 USING(a,b) 6508 RIGHT JOIN t5 USING(a,b) 6509 WHERE d<>33 OR d IS NULL 6510 ORDER BY 1 NULLS FIRST; 6511 } { 6512 15 25 35 35 35 35 35 6513 17 27 - - - - 37 6514 18 28 - - - - 38 6515 19 29 - - 39 39 39 6516 } 6517 do_execsql_test joinB-471 { 6518 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6519 FROM t1 6520 FULL JOIN t2 USING(a) 6521 RIGHT JOIN t3 USING(a) 6522 RIGHT JOIN t4 USING(a) 6523 FULL JOIN t5 USING(a) 6524 ORDER BY 1 NULLS FIRST; 6525 } { 6526 11 11 - 11 11 - 6527 13 - 13 13 13 - 6528 15 15 15 15 15 15 6529 17 - - - - 17 6530 18 - - - - 18 6531 19 - - 19 19 19 6532 } 6533 do_execsql_test joinB-472 { 6534 SELECT b, c, d, e, f, g 6535 FROM t1 6536 NATURAL FULL JOIN t2 6537 NATURAL RIGHT JOIN t3 6538 NATURAL RIGHT JOIN t4 6539 NATURAL FULL JOIN t5 6540 WHERE b BETWEEN 12 AND 17 6541 ORDER BY 1 NULLS FIRST; 6542 } { 6543 } 6544 do_execsql_test joinB-473 { 6545 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6546 FROM t1 6547 FULL JOIN t2 USING(a) 6548 RIGHT JOIN t3 USING(a) 6549 FULL JOIN t4 USING(a) 6550 INNER JOIN t5 USING(a) 6551 ORDER BY 1 NULLS FIRST; 6552 } { 6553 15 15 15 15 15 15 6554 17 17 - 17 - 17 6555 18 - 18 18 - 18 6556 19 - - 19 19 19 6557 } 6558 do_execsql_test joinB-474 { 6559 SELECT a, c, d, e, f, g 6560 FROM t1 6561 FULL JOIN t2 USING(a,b) 6562 RIGHT JOIN t3 USING(a,b) 6563 FULL JOIN t4 USING(a,b) 6564 INNER JOIN t5 USING(a,b) 6565 WHERE a<>13 6566 ORDER BY 1 NULLS FIRST; 6567 } { 6568 15 35 35 35 35 35 6569 17 37 - 37 - 37 6570 18 - 38 38 - 38 6571 19 - - 39 39 39 6572 } 6573 do_execsql_test joinB-475 { 6574 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6575 FROM t1 6576 FULL JOIN t2 USING(a) 6577 RIGHT JOIN t3 USING(a) 6578 FULL JOIN t4 USING(a) 6579 LEFT JOIN t5 USING(a) 6580 ORDER BY 1 NULLS FIRST; 6581 } { 6582 - - - - - - 6583 11 11 - 11 11 - 6584 12 12 12 12 - - 6585 13 - 13 13 13 - 6586 15 15 15 15 15 15 6587 17 17 - 17 - 17 6588 18 - 18 18 - 18 6589 19 - - 19 19 19 6590 } 6591 do_execsql_test joinB-476 { 6592 SELECT a, c, d, e, f, g 6593 FROM t1 6594 FULL JOIN (t2 RIGHT JOIN t3 USING(a)) USING(a) 6595 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 6596 WHERE a<=18 6597 ORDER BY 1 NULLS FIRST; 6598 } { 6599 11 31 - 31 31 - 6600 12 32 32 32 - - 6601 13 - 33 33 33 - 6602 15 35 35 35 35 35 6603 17 37 - 37 - - 6604 18 - 38 38 - - 6605 } 6606 do_execsql_test joinB-477 { 6607 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6608 FROM t1 6609 FULL JOIN t2 USING(a) 6610 RIGHT JOIN t3 USING(a) 6611 FULL JOIN t4 USING(a) 6612 RIGHT JOIN t5 USING(a) 6613 ORDER BY 1 NULLS FIRST; 6614 } { 6615 15 15 15 15 15 15 6616 17 17 - 17 - 17 6617 18 - 18 18 - 18 6618 19 - - 19 19 19 6619 } 6620 do_execsql_test joinB-478 { 6621 SELECT a, b, c, d, e, f, g 6622 FROM t1 6623 FULL JOIN t2 USING(a,b) 6624 RIGHT JOIN t3 USING(a,b) 6625 FULL JOIN t4 USING(a,b) 6626 RIGHT JOIN t5 USING(a,b) 6627 WHERE d<>33 OR d IS NULL 6628 ORDER BY 1 NULLS FIRST; 6629 } { 6630 15 25 35 35 35 35 35 6631 17 27 37 - 37 - 37 6632 18 28 - 38 38 - 38 6633 19 29 - - 39 39 39 6634 } 6635 do_execsql_test joinB-479 { 6636 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6637 FROM t1 6638 FULL JOIN t2 USING(a) 6639 RIGHT JOIN t3 USING(a) 6640 FULL JOIN t4 USING(a) 6641 FULL JOIN t5 USING(a) 6642 ORDER BY 1 NULLS FIRST; 6643 } { 6644 - - - - - - 6645 11 11 - 11 11 - 6646 12 12 12 12 - - 6647 13 - 13 13 13 - 6648 15 15 15 15 15 15 6649 17 17 - 17 - 17 6650 18 - 18 18 - 18 6651 19 - - 19 19 19 6652 } 6653 do_execsql_test joinB-480 { 6654 SELECT b, c, d, e, f, g 6655 FROM t1 6656 NATURAL FULL JOIN t2 6657 NATURAL RIGHT JOIN t3 6658 NATURAL FULL JOIN t4 6659 NATURAL FULL JOIN t5 6660 WHERE b BETWEEN 12 AND 17 6661 ORDER BY 1 NULLS FIRST; 6662 } { 6663 } 6664 do_execsql_test joinB-481 { 6665 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6666 FROM t1 6667 FULL JOIN t2 USING(a) 6668 FULL JOIN t3 USING(a) 6669 INNER JOIN t4 USING(a) 6670 INNER JOIN t5 USING(a) 6671 ORDER BY 1 NULLS FIRST; 6672 } { 6673 15 15 15 15 15 15 6674 19 - - 19 19 19 6675 } 6676 do_execsql_test joinB-482 { 6677 SELECT a, c, d, e, f, g 6678 FROM t1 6679 FULL JOIN t2 USING(a,b) 6680 FULL JOIN t3 USING(a,b) 6681 INNER JOIN t4 USING(a,b) 6682 INNER JOIN t5 USING(a,b) 6683 WHERE a<>13 6684 ORDER BY 1 NULLS FIRST; 6685 } { 6686 15 35 35 35 35 35 6687 19 - - 39 39 39 6688 } 6689 do_execsql_test joinB-483 { 6690 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6691 FROM t1 6692 FULL JOIN t2 USING(a) 6693 FULL JOIN t3 USING(a) 6694 INNER JOIN t4 USING(a) 6695 LEFT JOIN t5 USING(a) 6696 ORDER BY 1 NULLS FIRST; 6697 } { 6698 11 11 - 11 11 - 6699 13 - 13 13 13 - 6700 15 15 15 15 15 15 6701 19 - - 19 19 19 6702 } 6703 do_execsql_test joinB-484 { 6704 SELECT a, c, d, e, f, g 6705 FROM t1 6706 FULL JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 6707 INNER JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 6708 WHERE a<=18 6709 ORDER BY 1 NULLS FIRST; 6710 } { 6711 11 31 - 31 31 - 6712 13 - 33 33 33 - 6713 15 35 35 35 35 35 6714 } 6715 do_execsql_test joinB-485 { 6716 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6717 FROM t1 6718 FULL JOIN t2 USING(a) 6719 FULL JOIN t3 USING(a) 6720 INNER JOIN t4 USING(a) 6721 RIGHT JOIN t5 USING(a) 6722 ORDER BY 1 NULLS FIRST; 6723 } { 6724 15 15 15 15 15 15 6725 17 - - - - 17 6726 18 - - - - 18 6727 19 - - 19 19 19 6728 } 6729 do_execsql_test joinB-486 { 6730 SELECT a, b, c, d, e, f, g 6731 FROM t1 6732 FULL JOIN t2 USING(a,b) 6733 FULL JOIN t3 USING(a,b) 6734 INNER JOIN t4 USING(a,b) 6735 RIGHT JOIN t5 USING(a,b) 6736 WHERE d<>33 OR d IS NULL 6737 ORDER BY 1 NULLS FIRST; 6738 } { 6739 15 25 35 35 35 35 35 6740 17 27 - - - - 37 6741 18 28 - - - - 38 6742 19 29 - - 39 39 39 6743 } 6744 do_execsql_test joinB-487 { 6745 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6746 FROM t1 6747 FULL JOIN t2 USING(a) 6748 FULL JOIN t3 USING(a) 6749 INNER JOIN t4 USING(a) 6750 FULL JOIN t5 USING(a) 6751 ORDER BY 1 NULLS FIRST; 6752 } { 6753 11 11 - 11 11 - 6754 13 - 13 13 13 - 6755 15 15 15 15 15 15 6756 17 - - - - 17 6757 18 - - - - 18 6758 19 - - 19 19 19 6759 } 6760 do_execsql_test joinB-488 { 6761 SELECT b, c, d, e, f, g 6762 FROM t1 6763 NATURAL FULL JOIN t2 6764 NATURAL FULL JOIN t3 6765 NATURAL INNER JOIN t4 6766 NATURAL FULL JOIN t5 6767 WHERE b BETWEEN 12 AND 17 6768 ORDER BY 1 NULLS FIRST; 6769 } { 6770 } 6771 do_execsql_test joinB-489 { 6772 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6773 FROM t1 6774 FULL JOIN t2 USING(a) 6775 FULL JOIN t3 USING(a) 6776 LEFT JOIN t4 USING(a) 6777 INNER JOIN t5 USING(a) 6778 ORDER BY 1 NULLS FIRST; 6779 } { 6780 15 15 15 15 15 15 6781 17 17 - 17 - 17 6782 18 - 18 18 - 18 6783 19 - - 19 19 19 6784 } 6785 do_execsql_test joinB-490 { 6786 SELECT a, c, d, e, f, g 6787 FROM t1 6788 FULL JOIN t2 USING(a,b) 6789 FULL JOIN t3 USING(a,b) 6790 LEFT JOIN t4 USING(a,b) 6791 INNER JOIN t5 USING(a,b) 6792 WHERE a<>13 6793 ORDER BY 1 NULLS FIRST; 6794 } { 6795 15 35 35 35 35 35 6796 17 37 - 37 - 37 6797 18 - 38 38 - 38 6798 19 - - 39 39 39 6799 } 6800 do_execsql_test joinB-491 { 6801 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6802 FROM t1 6803 FULL JOIN t2 USING(a) 6804 FULL JOIN t3 USING(a) 6805 LEFT JOIN t4 USING(a) 6806 LEFT JOIN t5 USING(a) 6807 ORDER BY 1 NULLS FIRST; 6808 } { 6809 - - - - - - 6810 - - - - - - 6811 11 11 - 11 11 - 6812 12 12 12 12 - - 6813 13 - 13 13 13 - 6814 15 15 15 15 15 15 6815 17 17 - 17 - 17 6816 18 - 18 18 - 18 6817 19 - - 19 19 19 6818 } 6819 do_execsql_test joinB-492 { 6820 SELECT a, c, d, e, f, g 6821 FROM t1 6822 FULL JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 6823 LEFT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 6824 WHERE a<=18 6825 ORDER BY 1 NULLS FIRST; 6826 } { 6827 11 31 - 31 31 - 6828 12 32 32 32 - - 6829 13 - 33 33 33 - 6830 15 35 35 35 35 35 6831 17 37 - 37 - - 6832 18 - 38 38 - - 6833 } 6834 do_execsql_test joinB-493 { 6835 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6836 FROM t1 6837 FULL JOIN t2 USING(a) 6838 FULL JOIN t3 USING(a) 6839 LEFT JOIN t4 USING(a) 6840 RIGHT JOIN t5 USING(a) 6841 ORDER BY 1 NULLS FIRST; 6842 } { 6843 15 15 15 15 15 15 6844 17 17 - 17 - 17 6845 18 - 18 18 - 18 6846 19 - - 19 19 19 6847 } 6848 do_execsql_test joinB-494 { 6849 SELECT a, b, c, d, e, f, g 6850 FROM t1 6851 FULL JOIN t2 USING(a,b) 6852 FULL JOIN t3 USING(a,b) 6853 LEFT JOIN t4 USING(a,b) 6854 RIGHT JOIN t5 USING(a,b) 6855 WHERE d<>33 OR d IS NULL 6856 ORDER BY 1 NULLS FIRST; 6857 } { 6858 15 25 35 35 35 35 35 6859 17 27 37 - 37 - 37 6860 18 28 - 38 38 - 38 6861 19 29 - - 39 39 39 6862 } 6863 do_execsql_test joinB-495 { 6864 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6865 FROM t1 6866 FULL JOIN t2 USING(a) 6867 FULL JOIN t3 USING(a) 6868 LEFT JOIN t4 USING(a) 6869 FULL JOIN t5 USING(a) 6870 ORDER BY 1 NULLS FIRST; 6871 } { 6872 - - - - - - 6873 - - - - - - 6874 11 11 - 11 11 - 6875 12 12 12 12 - - 6876 13 - 13 13 13 - 6877 15 15 15 15 15 15 6878 17 17 - 17 - 17 6879 18 - 18 18 - 18 6880 19 - - 19 19 19 6881 } 6882 do_execsql_test joinB-496 { 6883 SELECT b, c, d, e, f, g 6884 FROM t1 6885 NATURAL FULL JOIN t2 6886 NATURAL FULL JOIN t3 6887 NATURAL LEFT JOIN t4 6888 NATURAL FULL JOIN t5 6889 WHERE b BETWEEN 12 AND 17 6890 ORDER BY 1 NULLS FIRST; 6891 } { 6892 } 6893 do_execsql_test joinB-497 { 6894 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6895 FROM t1 6896 FULL JOIN t2 USING(a) 6897 FULL JOIN t3 USING(a) 6898 RIGHT JOIN t4 USING(a) 6899 INNER JOIN t5 USING(a) 6900 ORDER BY 1 NULLS FIRST; 6901 } { 6902 15 15 15 15 15 15 6903 19 - - 19 19 19 6904 } 6905 do_execsql_test joinB-498 { 6906 SELECT a, c, d, e, f, g 6907 FROM t1 6908 FULL JOIN t2 USING(a,b) 6909 FULL JOIN t3 USING(a,b) 6910 RIGHT JOIN t4 USING(a,b) 6911 INNER JOIN t5 USING(a,b) 6912 WHERE a<>13 6913 ORDER BY 1 NULLS FIRST; 6914 } { 6915 15 35 35 35 35 35 6916 19 - - 39 39 39 6917 } 6918 do_execsql_test joinB-499 { 6919 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6920 FROM t1 6921 FULL JOIN t2 USING(a) 6922 FULL JOIN t3 USING(a) 6923 RIGHT JOIN t4 USING(a) 6924 LEFT JOIN t5 USING(a) 6925 ORDER BY 1 NULLS FIRST; 6926 } { 6927 11 11 - 11 11 - 6928 13 - 13 13 13 - 6929 15 15 15 15 15 15 6930 19 - - 19 19 19 6931 } 6932 do_execsql_test joinB-500 { 6933 SELECT a, c, d, e, f, g 6934 FROM t1 6935 FULL JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 6936 RIGHT JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 6937 WHERE a<=18 6938 ORDER BY 1 NULLS FIRST; 6939 } { 6940 11 31 - 31 31 - 6941 13 - 33 33 33 - 6942 15 35 35 35 35 35 6943 } 6944 do_execsql_test joinB-501 { 6945 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6946 FROM t1 6947 FULL JOIN t2 USING(a) 6948 FULL JOIN t3 USING(a) 6949 RIGHT JOIN t4 USING(a) 6950 RIGHT JOIN t5 USING(a) 6951 ORDER BY 1 NULLS FIRST; 6952 } { 6953 15 15 15 15 15 15 6954 17 - - - - 17 6955 18 - - - - 18 6956 19 - - 19 19 19 6957 } 6958 do_execsql_test joinB-502 { 6959 SELECT a, b, c, d, e, f, g 6960 FROM t1 6961 FULL JOIN t2 USING(a,b) 6962 FULL JOIN t3 USING(a,b) 6963 RIGHT JOIN t4 USING(a,b) 6964 RIGHT JOIN t5 USING(a,b) 6965 WHERE d<>33 OR d IS NULL 6966 ORDER BY 1 NULLS FIRST; 6967 } { 6968 15 25 35 35 35 35 35 6969 17 27 - - - - 37 6970 18 28 - - - - 38 6971 19 29 - - 39 39 39 6972 } 6973 do_execsql_test joinB-503 { 6974 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 6975 FROM t1 6976 FULL JOIN t2 USING(a) 6977 FULL JOIN t3 USING(a) 6978 RIGHT JOIN t4 USING(a) 6979 FULL JOIN t5 USING(a) 6980 ORDER BY 1 NULLS FIRST; 6981 } { 6982 11 11 - 11 11 - 6983 13 - 13 13 13 - 6984 15 15 15 15 15 15 6985 17 - - - - 17 6986 18 - - - - 18 6987 19 - - 19 19 19 6988 } 6989 do_execsql_test joinB-504 { 6990 SELECT b, c, d, e, f, g 6991 FROM t1 6992 NATURAL FULL JOIN t2 6993 NATURAL FULL JOIN t3 6994 NATURAL RIGHT JOIN t4 6995 NATURAL FULL JOIN t5 6996 WHERE b BETWEEN 12 AND 17 6997 ORDER BY 1 NULLS FIRST; 6998 } { 6999 } 7000 do_execsql_test joinB-505 { 7001 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 7002 FROM t1 7003 FULL JOIN t2 USING(a) 7004 FULL JOIN t3 USING(a) 7005 FULL JOIN t4 USING(a) 7006 INNER JOIN t5 USING(a) 7007 ORDER BY 1 NULLS FIRST; 7008 } { 7009 15 15 15 15 15 15 7010 17 17 - 17 - 17 7011 18 - 18 18 - 18 7012 19 - - 19 19 19 7013 } 7014 do_execsql_test joinB-506 { 7015 SELECT a, c, d, e, f, g 7016 FROM t1 7017 FULL JOIN t2 USING(a,b) 7018 FULL JOIN t3 USING(a,b) 7019 FULL JOIN t4 USING(a,b) 7020 INNER JOIN t5 USING(a,b) 7021 WHERE a<>13 7022 ORDER BY 1 NULLS FIRST; 7023 } { 7024 15 35 35 35 35 35 7025 17 37 - 37 - 37 7026 18 - 38 38 - 38 7027 19 - - 39 39 39 7028 } 7029 do_execsql_test joinB-507 { 7030 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 7031 FROM t1 7032 FULL JOIN t2 USING(a) 7033 FULL JOIN t3 USING(a) 7034 FULL JOIN t4 USING(a) 7035 LEFT JOIN t5 USING(a) 7036 ORDER BY 1 NULLS FIRST; 7037 } { 7038 - - - - - - 7039 - - - - - - 7040 11 11 - 11 11 - 7041 12 12 12 12 - - 7042 13 - 13 13 13 - 7043 15 15 15 15 15 15 7044 17 17 - 17 - 17 7045 18 - 18 18 - 18 7046 19 - - 19 19 19 7047 } 7048 do_execsql_test joinB-508 { 7049 SELECT a, c, d, e, f, g 7050 FROM t1 7051 FULL JOIN (t2 FULL JOIN t3 USING(a)) USING(a) 7052 FULL JOIN (t4 LEFT JOIN t5 USING(a)) USING(a) 7053 WHERE a<=18 7054 ORDER BY 1 NULLS FIRST; 7055 } { 7056 11 31 - 31 31 - 7057 12 32 32 32 - - 7058 13 - 33 33 33 - 7059 15 35 35 35 35 35 7060 17 37 - 37 - - 7061 18 - 38 38 - - 7062 } 7063 do_execsql_test joinB-509 { 7064 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 7065 FROM t1 7066 FULL JOIN t2 USING(a) 7067 FULL JOIN t3 USING(a) 7068 FULL JOIN t4 USING(a) 7069 RIGHT JOIN t5 USING(a) 7070 ORDER BY 1 NULLS FIRST; 7071 } { 7072 15 15 15 15 15 15 7073 17 17 - 17 - 17 7074 18 - 18 18 - 18 7075 19 - - 19 19 19 7076 } 7077 do_execsql_test joinB-510 { 7078 SELECT a, b, c, d, e, f, g 7079 FROM t1 7080 FULL JOIN t2 USING(a,b) 7081 FULL JOIN t3 USING(a,b) 7082 FULL JOIN t4 USING(a,b) 7083 RIGHT JOIN t5 USING(a,b) 7084 WHERE d<>33 OR d IS NULL 7085 ORDER BY 1 NULLS FIRST; 7086 } { 7087 15 25 35 35 35 35 35 7088 17 27 37 - 37 - 37 7089 18 28 - 38 38 - 38 7090 19 29 - - 39 39 39 7091 } 7092 do_execsql_test joinB-511 { 7093 SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a 7094 FROM t1 7095 FULL JOIN t2 USING(a) 7096 FULL JOIN t3 USING(a) 7097 FULL JOIN t4 USING(a) 7098 FULL JOIN t5 USING(a) 7099 ORDER BY 1 NULLS FIRST; 7100 } { 7101 - - - - - - 7102 - - - - - - 7103 11 11 - 11 11 - 7104 12 12 12 12 - - 7105 13 - 13 13 13 - 7106 15 15 15 15 15 15 7107 17 17 - 17 - 17 7108 18 - 18 18 - 18 7109 19 - - 19 19 19 7110 } 7111 do_execsql_test joinB-512 { 7112 SELECT b, c, d, e, f, g 7113 FROM t1 7114 NATURAL FULL JOIN t2 7115 NATURAL FULL JOIN t3 7116 NATURAL FULL JOIN t4 7117 NATURAL FULL JOIN t5 7118 WHERE b BETWEEN 12 AND 17 7119 ORDER BY 1 NULLS FIRST; 7120 } { 7121 } 7122 finish_test 7123 7124 ############################################################################## 7125 # Here is the original TCL script that generated the psql input file: 7126 # 7127 # 7128 # puts " 7129 # \\pset border off 7130 # \\pset tuples_only on 7131 # \\pset null - 7132 # 7133 # DROP TABLE IF EXISTS t1; 7134 # DROP TABLE IF EXISTS t2; 7135 # DROP TABLE IF EXISTS t3; 7136 # DROP TABLE IF EXISTS t4; 7137 # DROP TABLE IF EXISTS t5; 7138 # CREATE TABLE t1(a INT, b INT, c INT); 7139 # CREATE TABLE t2(a INT, b INT, d INT); 7140 # CREATE TABLE t3(a INT, b INT, e INT); 7141 # CREATE TABLE t4(a INT, b INT, f INT); 7142 # CREATE TABLE t5(a INT, b INT, g INT); 7143 # INSERT INTO t1 VALUES(11,21,31),(12,22,32),(15,25,35),(17,27,37); 7144 # INSERT INTO t2 VALUES(12,22,32),(13,23,33),(15,25,35),(18,28,38),(NULL,NULL,36); 7145 # INSERT INTO t4 VALUES(11,21,31),(13,23,33),(15,25,35),(19,29,39); 7146 # INSERT INTO t3 SELECT * FROM t1 UNION SELECT * FROM t2 UNION SELECT * FROM t4; 7147 # INSERT INTO t5 SELECT * FROM t3 WHERE a>=15; 7148 # " 7149 # 7150 # proc echo {prefix txt} { 7151 # regsub -all {\n} $txt \n$prefix txt 7152 # puts "$prefix$txt" 7153 # } 7154 # 7155 # set n 0 7156 # set k 0 7157 # foreach j1 {INNER LEFT RIGHT FULL} { 7158 # foreach j2 {INNER LEFT RIGHT FULL} { 7159 # foreach j3 {INNER LEFT RIGHT FULL} { 7160 # foreach j4 {INNER LEFT RIGHT FULL} { 7161 # 7162 # incr n 7163 # incr k 7164 # set q1 "" 7165 # append q1 "SELECT a, t1.a, t2.a, t3.a, t4.a, t5.a\n" 7166 # append q1 " FROM t1\n" 7167 # append q1 " $j1 JOIN t2 USING(a)\n" 7168 # append q1 " $j2 JOIN t3 USING(a)\n" 7169 # append q1 " $j3 JOIN t4 USING(a)\n" 7170 # append q1 " $j4 JOIN t5 USING(a)\n" 7171 # append q1 " ORDER BY 1 NULLS FIRST;" 7172 # 7173 # echo "\\qecho " "do_execsql_test joinB-$n \{" 7174 # echo "\\qecho X " $q1 7175 # echo "\\qecho " "\} \{" 7176 # puts $q1 7177 # echo "\\qecho " "\}" 7178 # 7179 # switch [expr {$k%4}] { 7180 # 0 { 7181 # set q2 "" 7182 # append q2 "SELECT b, c, d, e, f, g\n" 7183 # append q2 " FROM t1\n" 7184 # append q2 " NATURAL $j1 JOIN t2\n" 7185 # append q2 " NATURAL $j2 JOIN t3\n" 7186 # append q2 " NATURAL $j3 JOIN t4\n" 7187 # append q2 " NATURAL $j4 JOIN t5\n" 7188 # append q2 " WHERE b BETWEEN 12 AND 17\n" 7189 # append q2 " ORDER BY 1 NULLS FIRST;" 7190 # incr n 7191 # echo "\\qecho " "do_execsql_test joinB-$n \{" 7192 # echo "\\qecho X " $q2 7193 # echo "\\qecho " "\} \{" 7194 # puts $q2 7195 # echo "\\qecho " "\}" 7196 # } 7197 # 1 { 7198 # set q2 "" 7199 # append q2 "SELECT a, c, d, e, f, g\n" 7200 # append q2 " FROM t1\n" 7201 # append q2 " $j1 JOIN t2 USING(a,b)\n" 7202 # append q2 " $j2 JOIN t3 USING(a,b)\n" 7203 # append q2 " $j3 JOIN t4 USING(a,b)\n" 7204 # append q2 " $j4 JOIN t5 USING(a,b)\n" 7205 # append q2 " WHERE a<>13\n" 7206 # append q2 " ORDER BY 1 NULLS FIRST;" 7207 # incr n 7208 # echo "\\qecho " "do_execsql_test joinB-$n \{" 7209 # echo "\\qecho X " $q2 7210 # echo "\\qecho " "\} \{" 7211 # puts $q2 7212 # echo "\\qecho " "\}" 7213 # } 7214 # 2 { 7215 # set q2 "" 7216 # append q2 "SELECT a, c, d, e, f, g\n" 7217 # append q2 " FROM t1\n" 7218 # append q2 " $j1 JOIN (t2 $j2 JOIN t3 USING(a)) USING(a)\n" 7219 # append q2 " $j3 JOIN (t4 $j4 JOIN t5 USING(a)) USING(a)\n" 7220 # append q2 " WHERE a<=18\n" 7221 # append q2 " ORDER BY 1 NULLS FIRST;" 7222 # incr n 7223 # echo "\\qecho " "do_execsql_test joinB-$n \{" 7224 # echo "\\qecho X " $q2 7225 # echo "\\qecho " "\} \{" 7226 # puts $q2 7227 # echo "\\qecho " "\}" 7228 # } 7229 # 3 { 7230 # set q2 "" 7231 # append q2 "SELECT a, b, c, d, e, f, g\n" 7232 # append q2 " FROM t1\n" 7233 # append q2 " $j1 JOIN t2 USING(a,b)\n" 7234 # append q2 " $j2 JOIN t3 USING(a,b)\n" 7235 # append q2 " $j3 JOIN t4 USING(a,b)\n" 7236 # append q2 " $j4 JOIN t5 USING(a,b)\n" 7237 # append q2 " WHERE d<>33 OR d IS NULL\n" 7238 # append q2 " ORDER BY 1 NULLS FIRST;" 7239 # incr n 7240 # echo "\\qecho " "do_execsql_test joinB-$n \{" 7241 # echo "\\qecho X " $q2 7242 # echo "\\qecho " "\} \{" 7243 # puts $q2 7244 # echo "\\qecho " "\}" 7245 # } 7246 # } 7247 # 7248 # } 7249 # } 7250 # } 7251 # } 7252 ##############################################################################