A,B,C 나열하는 대신 *로 불러올 수는 없나요!?
205
작성한 질문수 1
SELECT CASE
WHEN A=B AND B=C THEN 'Equilateral'
ELSE 'OTHER'
END, A,B,C
FROM Triangles 이 구문을
SELECT CASE
WHEN A=B AND B=C THEN 'Equilateral'
ELSE 'OTHER'
END, *
FROM Triangles
이전 수업에 알려주신 방법처럼 아스타로 이렇게 쓸 수는 없는걸까요!? 전체 데이터를 뽑아와서 비교하고 싶은데 오류가 뜹니다..!
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
* 키워드를 사용하여 모든 컬럼을 선택하는 것은 가능합니다만, 다만 CASE 문과 같은 특정한 표현식을 ‘*’ 앞에서 사용할 때는 주의가 필요합니다. 님이 작성하신 SQL 구문에서 *를 사용하고자 할 때 모든 컬럼을 불러오되, 추가적인 조건으로 컬럼을 출력하고자 한다면 * 명령어를 SELECT 구문의 맨 처음에 두는 것은 피해야 합니다.
SELECT *를 시작으로 하고, 그 뒤에 CASE 문을 추가하면 예상하신대로 모든 데이터와 함께 조건에 따른 결과를 얻을 수 있습니다. 예를 들어 다음과 같이 수정할 수 있습니다:
SELECT *, CASE
WHEN A=B AND B=C THEN 'Equilateral'
-- 여기에 다른 조건들 추가
ELSE 'OTHER'
END AS Triangle_Type
FROM Triangles
이렇게 하면 *에 의해 모든 컬럼이 선택되고, CASE 구문에 의해 새로운 컬럼 ‘Triangle_Type’이 추가되어 해당하는 삼각형의 타입이 출력될 것입니다.
여기서 AS Triangle_Type 부분은 CASE 문에 의해 생성된 새로운 컬럼에 이름을 부여하는 것으로, 필수는 아니지만 결과를 더욱 명확하게 해줍니다.
만약 여전히 오류가 발생한다면 문법적 오류나 다른 문제가 있을 수 있으니, 오류 메세지를 참고하여 추가적으로 문제를 해결해야 할 것입니다.
리트코드 1280. Students and Examinations
0
75
3
16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문
0
89
2
African Cities 문제관련 질문
0
54
1
SQL 코딩테스트 질문
0
206
1
HACKER RANK에서 문제찾기
0
98
2
강의 자료 다운로드
0
90
2
Asian population 문제가 없어요
0
77
2
INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'
0
68
2
별칭 관련해서 질문 있습니다.
0
79
2
rising temperature 문제 질문
0
98
2
해커랭크 TOP EARNERS 문제 질문
0
99
1
ON 뒤에 질문
0
95
2
INNER JOIN 질문. 강의와 결과값이 다릅니다.
0
196
3
END, 뒤에 * 붙이면 에러가 뜹니다
1
204
2
CustomerID가 중복되서 나타나요
0
234
3
별칭이 전체 테이블을 못 불러와요.
0
144
2
CASE WHEN 쿼리 오류 문의
1
325
3
CASE문제풀이 질문
0
125
1
Customers Who Never Order 풀다가 Alias관련 질문사항
0
138
1
Average Population 질문
0
130
1
Revising Aggregations - The Count Function 질문
0
104
1
Average Population of Each Continent 에대해서 질문
0
193
3
w3schools 에서 쿼리 작성 질문
0
159
1
INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?
0
329
1





