programing

mysql의 값에서 선택

easyjava 2023. 9. 16. 10:05
반응형

mysql의 값에서 선택

값에서 선택을 수행하는 MySQL 방법은 무엇입니까?

select c from (values (1), (2), (3)) as t(c);

이 아이디어는 다음과 같은 것을 할 수 있도록 하는 것입니다.

select * from table, (values (1), (2), (3)) as temp(c) where ...;

참고로, Postgres 문서: http://www.postgresql.org/docs/9.1/static/sql-values.html 입니다.

제공한 링크에서 다음을(를)

VALUES (1, '1'), (2, '2'), (3, '3');
이렇게 하면 두 개의 열과 세 개의 행으로 구성된 테이블이 반환됩니다.이는 사실상 다음과 같습니다.
선택 1 AS 열 1, '하나' AS 열 2
UNION ALL
선택 2, '2'
UNION ALL
선택 3, '3';

그래서 당신은 필요합니다.

select * from 
table1,
(
   SELECT 1 AS val
   UNION ALL
   SELECT 2
   UNION ALL 
   SELECT 3 
)b

MySQL 8.0.19에서는 이 구문이 지원됩니다.공식 링크를 참조해 주시기 바랍니다.

mysql> VALUES ROW(1,-2,3), ROW(5,7,9), ROW(4,6,8);
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |       -2 |        3 |
|        5 |        7 |        9 |
|        4 |        6 |        8 |
+----------+----------+----------+

이것이 또 다른 방법입니다.WITH지원.MySQL:

create temporary table tmp (c int);

insert into tmp (c)
values (1), (2), (3);

select * from tmp;

같은 걸 찾다가 이 Q를 찾았고 결국 이걸 얻기 위해 이리저리 돌아다녔습니다.

select c
from (values row(1)
           , row(2)
           , row(3)
     ) t(c)
;

OP의 두 번째 파트는 다음과 같습니다.

select *
from table
   , (values row(1)
           , row(2)
           , row(3)
     ) t(c)
where ...
;

언급URL : https://stackoverflow.com/questions/9216021/select-from-values-in-mysql

반응형