Вот запрос:
SELECT A.a1,B.b1,B.b2
FROM A,B
WHERE A.a1 >= B.b1
AND A.a1 <= B.b2;
Вот загрузка вашего примера кода:
use junk
DROP TABLE IF EXISTS A;
DROP TABLE IF EXISTS B;
CREATE TABLE A (a1 int);
CREATE TABLE B (b1 int,b2 int);
INSERT INTO A VALUES (123),(451),(199),(0),(23);
INSERT INTO B VALUES ( 12, 24),(450,455),(202,210),(499,567),( 5, 40);
SELECT * FROM A;
SELECT * FROM B;
SELECT A.a1,B.b1,B.b2
FROM A,B
WHERE A.a1 >= B.b1
AND A.a1 <= B.b2;
Вот результаты:
mysql> use junk
Database changed
mysql> DROP TABLE IF EXISTS A;
Query OK, 0 rows affected (0.03 sec)
mysql> DROP TABLE IF EXISTS B;
Query OK, 0 rows affected (0.03 sec)
mysql> CREATE TABLE A (a1 int);
Query OK, 0 rows affected (0.08 sec)
mysql> CREATE TABLE B (b1 int,b2 int);
Query OK, 0 rows affected (0.06 sec)
mysql> INSERT INTO A VALUES (123),(451),(199),(0),(23);
Query OK, 5 rows affected (0.05 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> INSERT INTO B VALUES ( 12, 24),(450,455),(202,210),(499,567),( 5, 40);
Query OK, 5 rows affected (0.06 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM A;
+------+
| a1 |
+------+
| 123 |
| 451 |
| 199 |
| 0 |
| 23 |
+------+
5 rows in set (0.00 sec)
mysql> SELECT * FROM B;
+------+------+
| b1 | b2 |
+------+------+
| 12 | 24 |
| 450 | 455 |
| 202 | 210 |
| 499 | 567 |
| 5 | 40 |
+------+------+
5 rows in set (0.00 sec)
mysql> SELECT A.a1,B.b1,B.b2
-> FROM A,B
-> WHERE A.a1 >= B.b1
-> AND A.a1 <= B.b2;
+------+------+------+
| a1 | b1 | b2 |
+------+------+------+
| 23 | 12 | 24 |
| 451 | 450 | 455 |
| 23 | 5 | 40 |
+------+------+------+
3 rows in set (0.00 sec)