Bug #119694 rows unexpectedly become less after changing INNER to LEFT
Submitted: 16 Jan 6:56 Modified: 16 Jan 8:39
Reporter: Aaditya Dubey Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Optimizer Severity:S3 (Non-critical)
Version:8.0.44 OS:Any
Assigned to: CPU Architecture:Any

[16 Jan 6:56] Aaditya Dubey
Description:
after changing INNER to LEFT ,rows number change from 20 to 5

mysql> WITH cte_449 AS (SELECT uqy35.c2 AS col_1, COS(uqy35.c8) AS col_2, uqy35.c8 AS col_3, uqy35.c12 AS col_4 FROM t3 AS uqy35 USE INDEX (idx_t3_c11)) (SELECT DATE_FORMAT(jyo43.c5, 'HH24:MI:SS') AS col_1, jyo43.c4 AS col_2 FROM t1 AS jyo43 USE INDEX (idx_t1_c3) INNER JOIN cte_449 AS nmp55 ON EXISTS(SELECT rel83.col_3 AS col_3 FROM cte_449 AS rel83 WHERE (jyo43.c1 = rel83.col_2) ORDER BY rel83.col_3 LIMIT 1));
+------------+-------+
| col_1      | col_2 |
+------------+-------+
| HH24:MI:SS |    90 |
| HH24:MI:SS |    90 |
| HH24:MI:SS |    90 |
| HH24:MI:SS |    90 |
| HH24:MI:SS |    68 |
| HH24:MI:SS |    68 |
| HH24:MI:SS |    68 |
| HH24:MI:SS |    68 |
| HH24:MI:SS |    36 |
| HH24:MI:SS |    36 |
| HH24:MI:SS |    36 |
| HH24:MI:SS |    36 |
| HH24:MI:SS |    48 |
| HH24:MI:SS |    48 |
| HH24:MI:SS |    48 |
| HH24:MI:SS |    48 |
| HH24:MI:SS |    37 |
| HH24:MI:SS |    37 |
| HH24:MI:SS |    37 |
| HH24:MI:SS |    37 |
+------------+-------+
20 rows in set (0.00 sec)
mysql> WITH cte_449 AS (SELECT uqy35.c2 AS col_1, COS(uqy35.c8) AS col_2, uqy35.c8 AS col_3, uqy35.c12 AS col_4 FROM t3 AS uqy35 USE INDEX (idx_t3_c11)) (SELECT DATE_FORMAT(jyo43.c5, 'HH24:MI:SS') AS col_1, jyo43.c4 AS col_2 FROM t1 AS jyo43 USE INDEX (idx_t1_c3) LEFT JOIN cte_449 AS nmp55 ON EXISTS(SELECT rel83.col_3 AS col_3 FROM cte_449 AS rel83 WHERE (jyo43.c1 = rel83.col_2) ORDER BY rel83.col_3 LIMIT 1));
+------------+-------+
| col_1      | col_2 |
+------------+-------+
| HH24:MI:SS |    90 |
| HH24:MI:SS |    68 |
| HH24:MI:SS |    36 |
| HH24:MI:SS |    48 |
| HH24:MI:SS |    37 |
+------------+-------+
5 rows in set (0.00 sec)

How to repeat:
DROP DATABASE IF EXISTS test;
CREATE DATABASE IF NOT EXISTS test;
USE test;
CREATE TABLE t1 (
    c1 INT NOT NULL AUTO_INCREMENT,
    c2 VARCHAR(255) NOT NULL,
    c3 VARCHAR(255) NULL,
    c4 INT NULL,
    c5 DATE NOT NULL,
    c6 VARCHAR(10) NOT NULL,
    PRIMARY KEY (c1)
);
CREATE TABLE t3 (
    c1 INT NOT NULL AUTO_INCREMENT,
    c2 INT NOT NULL,
    c3 INT NOT NULL,
    c4 YEAR NOT NULL,
    c5 TIME NULL,
    c6 TINYINT NULL,
    c7 SMALLINT NULL,
    c8 MEDIUMINT NULL,
    c9 BIGINT NULL,
    c10 LONGTEXT NULL,
    c11 VARCHAR(255) NULL,
    c12 TINYTEXT NULL,
    c13 TINYBLOB NULL,
    c14 SET('x','y','z') NULL,
    c15 TINYINT(1) NULL,
    PRIMARY KEY (c1)
);
INSERT INTO t1 (c1, c2, c3, c4, c5, c6) VALUES (3584, 'sample_AQJP3FCb7PX46hF2d3VoKsPIHtIgzieVgOK1Ue7iSbNProjjh', 'sample_v', 36, '2025-09-07', 'sample_J');
INSERT INTO t1 (c1, c2, c3, c4, c5, c6) VALUES (954, 'sample_0kfPnPKeUjkycwqHxj5OtQ8', 'sample_sQ', 90, '2025-10-10', 'sample_C');
INSERT INTO t1 (c1, c2, c3, c4, c5, c6) VALUES (1986, 'sample_tJaorTY4zIEBbb8IM4auYieeVSd80foFpJh3MIv0Rz8fEgfYthMyHLdUMnlIN6NnP0VoAFBpSEUcHovYpCFbGrC98Y52vXpgXsmsEBDYj6ecgN2JkDh393f4hhIjFLpqffJrE5Z09WtyvK6PT0IcDNjF6S16yhunjPWFxaAbK4Z6', 'sample_bIa5736UIVD92z8u5rQ0PaRpPlOEwroZ4Xoqc4jDp4SiRROqU4u2EvOZZupAHmFPuFcWjOC6V16yTz58i3824l1EdwAgMPAPy9RM2sHerAB3L3eAWFGFd', 68, '2025-04-20', 'sample_KWK');
INSERT INTO t1 (c1, c2, c3, c4, c5, c6) VALUES (6432, 'sample_apUxsuYxJ7yJ6etwr3Sd7Cg7l1JHXVRSgSUF689u4w2greqF3zbivycDbv6qA4Wusopmd80qoDFLGg1ercUJBRyEl0j0aw1JXgj35Pg4JK2lNYBG2UPKBvS3jhsYpkYbhUNtq5zfTal0MXOuOk4CydQWObucwCG1tGcBtxVHzwZf18W2M7Fl2c8AzYVIIn', 'sample_xoju7XvqD9RJhJ2NAoI2KxR5QZdZKDIjrOdN8MahX1k3dJu9UxKIjMzLtBjiMnoN5JxDvSR7bHNsAECcv5onlaOPg4TBQg4yQw6ThZm8lvYZcq9lBqZap4SoxgEZLdQaIflJvl7EcmCUqqRgQEes', 48, '2025-04-28', 'sample_N');
INSERT INTO t1 (c1, c2, c3, c4, c5, c6) VALUES (8644, 'sample_IYRIsvectgAbcVIlfnvNd9kX3FNkOo4kAKKY1BDBLFQpH7ksvMtBllsZK16dP8T7twvH59dyaLTQuKIciaq8hnHB49XU7pS4kDw8Gt9mASD1ylSfvFBVtDNT', 'sample_7K12anyKLHlFNF5tfck9rj0CREpw10By71a2xm7uMRqIH61pLHnO3mXiWV0Ql013c5vK', 37, '2024-11-16', 'sample_8');
INSERT INTO t3 (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15) VALUES (8417, 9828, 4869, 2023, '2023-01-01 21:39:34', 14, 68, 41, 89, 'sample_etX2AhIU3JkLkyrEOwJTBqpBStqOrUPbskI8gL9NI0mwroTZBFHdHYljUuEHNlUbh5hyij8jKGC30KpbQ1LxgLF3m1cLuhezhgFbet0FnWTwJErW2Qd64AWovLqIOmfMKcJrXPMb405Gro9bXX0ewJlrXrzl383yHWXzgpu1Tb9SGfjW21HzuYBp50VLzsuEtkTKnFouWhIF6m4rT46enkICMZ8vOF9qUanlkKZ8aPFJSjPJX5O8pnDC1BiPX77tUJojj286KVV5Av6I9B9Itw8A0V2gZumzouD06KPaMkQlHsphSpBT7VpjPpneb3ebwLvj73Y15sCv5iwcbaDKFGTuZRdqtmCwx2l37zcGJgU6Ch8fbCNAgmFdYNJ0sveP7uiAvefZUWmlnFmQo6ASVSR5utAX2ha7bflNpNvwT6pbanbj49lcD00bY3DYwRWuMh2d8dVb1p9allRD9Tie2mJJO2wW5qmI3uHz9MzFBCRrkAwOhczPgT6gPtnleQXwtsdSU0zzeUjTYdu23ISbFdfCk9bgfRtIZkXa4faYbiRfy8jPkwjLNK9swCMcwxAtNe1LjK0DqRcGuVbTX5E2vpfDlfk60euiq1RO4TLEUuMaBpptJ7hAGQbTQrfD7rQr5s2QzKUNgM7jY3Pz0NtNRCDtousLLEzfvEmQkM4H95WGf4v24A564PdHfyY3xYflHU3pID5XyBUNi1XC2vga2Kq8ADaM5VKsE3o4BWIKpJcuESY0bOUcp1SOhSaqFiYjf3mmm9eUqo4elRwMqf37uOeNQ1TdvdvJlKRNHTi4umf6TYZr57zdtS4RuQ7HHW2NE5wQBBhmLcpoQyTquda7JCVSmmKo8G0h1C4VXe46bDTQvjJmrCw7JKMLncGbm7TEMsWMdiNxFPoXUDpxkXUSkjRAe0Uc9tPmeTUwq5uauperTQaR', 'sample_weZoLCxaYRuEbIZSAcw', 'sample_8eD325FzN79CIA1lx3hcxnIVFhKIlbppGhso8TzRvfqzVgovF4texBWt2e15D4TE8uXMELQHhSBEC2wHYIIOfKH8XCNMYbzkX06yuiY1u41mec1TesgBYKV3PW', X'D2A6D881052BECAA90E6BDA5DBAF542830D084', 'y,z', NULL);
INSERT INTO t3 (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15) VALUES (4582, 4362, 2120, 2003, '2023-01-01 10:35:52', 75, 23, 4, 15, 'sample_gPtaGnYsFMAlVwjqCJJU2QzwmdgOvBpGls5lvJFQyBnGEZz5NPkYK7scDSLaSiS0uRCXvLJgviwH0AlAvUmLhkaqnW3AEltUWHNIdnzTqBcHOsUDu0QeLyWliMU9G1LPvhB3X7ALnQc59TmIlaaa4zgbK8OiljOCbdK27haa6m0p5GSX5VOY0suuqipaSP3RX8Tu58dfASNpwe9hrhOIGVAoxmMySqppoJ2MNBUMG5rRTDFySlCqmXegIZSfV4pDHFb367Z4GCgUSrWBysl3pq2uoyW1d5rNvJ1knAew98VsBU7dh03J8aY0Moj4KnGi5expidhetPkwahDIEeqf4N5GoxWSxuJwVFpW2ijv0d6vgqGB21JRBw6RhtPqMP8qZq3zAr96npnFeMaiqehtxaWVpFY5Q9KT4xKsZhxz5NaLyodpM8PVejl5Et8SoV8RvknVMe5SjFrsSoXYqNgK15oTZwypMQkeRTflykZ5vZgX8nuBcQrIVohsdj1n4EmjKRSbPhewGn3IutqFRhBx4fpxQRAzCzp7Jf87TpSNxTHA3tu7HC6L4w7MuBmup4pTx8zm8HGcKX9DgQaJYzGHv2UaE1PM2eJ0x3fs6Y2oBJb1rsge59yR5wE72taYZGM6zFmF7nDntEKa7r57i5UZBKFNMgsmaHVvzvCWdNKzgS6q92Hlyxp9Gd529vHstvMxVwtd0ofNcUgA5hDcBlSUCDqGHYAemuS5mDvg8glOhyrgUdyetSDycRrlr61FVjKYgXW0Jp2s9XwssAsafhJTIP2wwgtQuLVZ4CbPlVneqOoVVU3mK5AGP4XOtQC7LQoorBtRx5HOAcTwGzLLpfiAKB1G45cCu1hUFv2t8YSUN20ooCAKrIbQKcz5bPGSvK17rpS5dYpHv76CJ0iQkEEJhAfyxWVOnwuMxanzt2f79DhC1C2Wo08OMJI70RkdU9uqjfrDmPmd2K9ZfXm1n4msB2m21Dl9e6VxAxCqgcAYADmEmkqnTgPZIV2qGWFa8Uad4YbLHcbvZQL8GsP6qXTmCDp2mB8l7C2fO5D4DWGMLQW6WcF1MBNebTqE4M1LRGxLO13aNuLb0uq9R0piXNz4tgwtPVPunfA01eKqShJFZBs8XlSb5Q025wUYPyF2tmXcFxJL9J4WTZxW6CwVycKgP8BGdXMAGcNf323dhwlYCr5enFrZ715sDEND0N79hjYrzBpU9H73T9qXmLkbfMzerqIFg9PKdWdUAGeDA3YuDEIlu7v7DZLMMcgYdclk0b1tbLLQix3FKk4On6yq5srcXheYdKkGLoKLFU883bNBafHG1U2ADpNtbzyw6UnqisFa9GR8NqDBoHjimj4Wddi4yacBYiZ33R3XW6zIUQC9gRexYiGYUIeFtmiQBZc0IpWJVZ8t49n7WXbTBy2JcDmBndn2yWYcfA4XrUuu5K5LGAmh4toVNEtBrglGcjhVIO5ptVhUfd7cMygMTK84GhNAUKMKzQ1AczxzYAGDyqV6Bbpm9676o58lGQClKdxYR5nKamhDGesLTj9No69pJwShExX2vfGIHPEXU0nN04u8dBDYYms21UIO2CpZcAUHc6hYmQRfFEynECKNgAlNHGMwhuqc6IAvbkvhE4TUxcRdXhSbg1U5q6yaWa2E1itUeH5H8E8PJlzH8yZmlAoaPluJzaMSQkKYU1tzA8bEaP70RLYcrCKvm5G7DE2sE9mCXBgXSrtgYzBgc9gT7IYvJ3Rn6uIIdD6KMyow0nO6QuB0CcWBDBgk3WKappl0CYsCDr5MHtk5f8BC7SXmJxOIZspgiD5yp9OOCbnt7KtWacjKQNNokC7DPE9WosuLUseg', 'sample_OMHD5WHEEeP825gAmH18ASwpqD0vYvORsqY1JeLMWv1WSXtxcKBge9eMlrt8UeUiKPtnRDLe7zuoeaiI0BBpG6bPMb4748Gm2MMEjEMRdiEm5VkF5QaLxVYgs6sG6EnjckihkivneYHGmNCgBVP9h0idYcjBp08sH7kN7o8xZS6XyAI2A8sln4cm', 'sample_jOWhHNwQUt1uJx2kPyP1w12xx0VmItQqrpMFoAK5Q5hzAwk6IdTs6Zs4O0fk3TBmFAOgiAO9uWZqt4c', X'4FEFAA9A7DEFA08134185EE2B8A908', 'y,x', NULL);
CREATE  INDEX idx_t3_c11 ON t3 (c11);
CREATE  INDEX idx_t1_c3 ON t1 (c3(63));
WITH cte_449 AS (SELECT uqy35.c2 AS col_1, COS(uqy35.c8) AS col_2, uqy35.c8 AS col_3, uqy35.c12 AS col_4 FROM t3 AS uqy35 USE INDEX (idx_t3_c11)) (SELECT DATE_FORMAT(jyo43.c5, 'HH24:MI:SS') AS col_1, jyo43.c4 AS col_2 FROM t1 AS jyo43 USE INDEX (idx_t1_c3) INNER JOIN cte_449 AS nmp55 ON EXISTS(SELECT rel83.col_3 AS col_3 FROM cte_449 AS rel83 WHERE (jyo43.c1 = rel83.col_2) ORDER BY rel83.col_3 LIMIT 1));
WITH cte_449 AS (SELECT uqy35.c2 AS col_1, COS(uqy35.c8) AS col_2, uqy35.c8 AS col_3, uqy35.c12 AS col_4 FROM t3 AS uqy35 USE INDEX (idx_t3_c11)) (SELECT DATE_FORMAT(jyo43.c5, 'HH24:MI:SS') AS col_1, jyo43.c4 AS col_2 FROM t1 AS jyo43 USE INDEX (idx_t1_c3) LEFT JOIN cte_449 AS nmp55 ON EXISTS(SELECT rel83.col_3 AS col_3 FROM cte_449 AS rel83 WHERE (jyo43.c1 = rel83.col_2) ORDER BY rel83.col_3 LIMIT 1));
[16 Jan 8:39] Roy Lyseng
Thank you for the bug report.
Verified as described.