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
'IT TIP' 카테고리의 다른 글
자바 8 스트림 : limit ()와 skip ()의 차이점 (0) | 2020.11.30 |
---|---|
동일한 Xcode 프로젝트에서 Swift, Objective-C, C 및 C ++ 파일을 가질 수 있습니까? (0) | 2020.11.30 |
C 코드 블록을 중괄호로 묶는 이유는 무엇입니까? (0) | 2020.11.29 |
모델이 새 것인지 아닌지 어떻게 알 수 있습니까? (0) | 2020.11.29 |
정규식까지만 포함되지 않음 (0) | 2020.11.29 |