IT TIP

MySQL SELECT를 사용하여 가상 열을 만드는 방법은 무엇입니까?

itqueen 2020. 11. 29. 12:50
반응형

MySQL SELECT를 사용하여 가상 열을 만드는 방법은 무엇입니까?


SELECT a AS b를 수행하고 b가 테이블의 열이 아닌 경우 쿼리가 "가상"열을 생성합니까?

실제로 쿼리에 가상 열을 통합하고 나중에 각 항목에 사용할 수 있도록 일부 정보를 쿼리에 처리해야합니다.


다음과 같은 것 :

SELECT id, email, IF(active = 1, 'enabled', 'disabled') AS account_status FROM users

이를 통해 작업을 수행하고 열로 표시 할 수 있습니다.

편집하다:

조인을 사용하고 작업을 열로 표시 할 수도 있습니다.

SELECT u.id, e.email, IF(c.id IS NULL, 'no selected', c.name) AS country
FROM users u LEFT JOIN countries c ON u.country_id = c.id

select 문 내에서 "age"가상 열을 만들려면 다음을 시도하십시오.

select brand, name, "10" as age from cars...

가상 열을 다음과 같이 추가 할 수 있습니다.

SELECT '1' as temp

하지만 추가로 생성 된 컬럼에 where 조건을 넣으려고하면 작동하지 않고 컬럼이 존재하지 않아 오류 메시지가 표시됩니다.

SQL 결과를 table.ie로 반환하여이 문제를 해결할 수 있습니다.

SELECT tb.* from (SELECT 1 as temp) as tb WHERE tb.temp = 1

SELECT는 데이터베이스에서만 데이터를 검색하고 테이블 자체를 변경하지는 않습니다.

당신이 쓰면

SELECT a AS b FROM x

"b"는 쿼리의 별칭 이름입니다. 추가 열을 생성하지 않습니다. 예제의 결과에는 "b"라는 열이 하나만 포함됩니다. 그러나 테이블의 열은 "a"로 유지됩니다. "b"는 다른 이름입니다.

"나중에 각 항목에 사용할 수 있도록"의 의미를 잘 모르겠습니다. 나중에 select 문에서 또는 나중에 응용 프로그램에서 의미합니까? 아마도 몇 가지 예제 코드를 제공 할 수 있습니다.


귀하의 구문은 a as b에 대한 별칭을 생성하지만 명령문의 결과를 초과하는 범위는 없습니다. VIEW 를 만들고 싶을 것 같습니다.

참고 URL : https://stackoverflow.com/questions/455261/how-to-create-virtual-column-using-mysql-select

반응형