How to set a comma separated list as a table in MySQL?

You can use UNION ALL for this.

Let us get list 10, 20, 30, 40, 50 as a table with UNION ALL −

<span class="pln">mysql</span><span class="pun">></span><span class="pln"> </span><span class="kwd">select</span><span class="pln"> </span><span class="lit">10</span><span class="pln"> </span><span class="typ">Number</span><span class="pln"> UNION ALL </span><span class="kwd">select</span><span class="pln"> </span><span class="lit">20</span><span class="pln"> </span><span class="typ">Number</span><span class="pln"> UNION ALL </span><span class="kwd">select</span><span class="pln"> </span><span class="lit">30</span><span class="pln"> </span><span class="typ">Number</span><span class="pln"> </span>
<span class="pln">   UNION ALL </span><span class="kwd">select</span><span class="pln"> </span><span class="lit">40</span><span class="pln"> </span><span class="typ">Number</span><span class="pln"> UNION ALL </span><span class="kwd">select</span><span class="pln"> </span><span class="lit">50</span><span class="pln"> </span><span class="typ">Number</span><span class="pun">;</span>

Output

+--------+
| Number |
+--------+
| 10     |
| 20     |
| 30     |
| 40     |
| 50     |
+--------+
5 rows in set (0.00 sec)

Let us see another example. To get the list 1,2,3 as a table, use the below query −

<span class="pln">mysql</span><span class="pun">></span><span class="pln"> SELECT </span><span class="lit">1</span><span class="pln"> a UNION ALL SELECT </span><span class="lit">2</span><span class="pln"> a UNION ALL SELECT </span><span class="lit">3</span><span class="pln"> a</span><span class="pun">;</span>

Output

+---+
| a |
+---+
| 1 |
| 2 |
| 3 |
+---+
3 rows in set (0.00 sec)
Updated on: 2019-07-30T22:30:26+05:30

566 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements