MySQL SELECT를 사용하여 가상 열을 생성하는 방법
SELECT a AS b를 실행하고 b가 테이블 내의 컬럼이 아닌 경우 쿼리는 "가상" 컬럼을 생성합니까?
실제로 가상 컬럼을 쿼리에 삽입하고 정보를 처리하여 나중에 각 항목에서 사용할 수 있도록 해야 합니다.
예를 들어 다음과 같습니다.
SELECT id, email, IF(active = 1, 'enabled', 'disabled') AS account_status FROM users
이렇게 하면 작업을 수행하고 열로 표시할 수 있습니다.
편집:
join 및 show operations를 열로 사용할 수도 있습니다.
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
단, 추가 생성된 컬럼에 조건을 붙이려고 하면 동작하지 않고 컬럼이 존재하지 않기 때문에 에러 메시지가 표시됩니다.
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"는 다른 이름일 뿐입니다.
'나중에 각 아이템과 함께 사용할 수 있도록'라는 것이 무슨 뜻인지 잘 모르겠습니다.선택문의 뒷부분이나 신청서의 뒷부분을 말씀하시는 건가요?코드 예를 제시해 주셨으면 합니다.
CASE 스테이트먼트를 사용할 수 있습니다.
SELECT name
,address
,CASE WHEN a < b THEN '1'
ELSE '2' END AS one_or_two
FROM ...
구문에 따라 a의 에일리어스가 b로 작성되지만 문장의 결과를 초과하는 범위는 없습니다.VIEW를 만들고 싶은 것 같습니다.
「MariaDB Docs」를 참조해 주세요.가상 컬럼은 키워드를 추가하여 생성됩니다.VIRTUAL
바로 앞에 식을 추가하면서 컬럼에 추가합니다.좋은 점은 가상 열에 인덱스를 추가할 수 있다는 것입니다.실제 값이 필요하고 스토리지보다 속도가 걱정되는 경우PERSISTENT
기둥.
언급URL : https://stackoverflow.com/questions/455261/how-to-create-virtual-column-using-mysql-select
'programing' 카테고리의 다른 글
Dapper를 사용하여 BINARY(16)를 GUID에 매핑하려면 어떻게 해야 합니까? (0) | 2022.09.06 |
---|---|
장고에서 '슬렁'이 뭐죠? (0) | 2022.09.06 |
핸들러가 추상적이므로 인스턴스화할 수 없습니다. (0) | 2022.09.06 |
GIS: PostGIS/PostgreSQL vs. MySql vs.SQL Server? (0) | 2022.09.06 |
마리아에 대한 속편 오류DB (0) | 2022.09.06 |