320x100
SQL union, union all을 배우고 있다.
내가 간단하게 임의적으로 만들거나, 컬럼자체가 간단한것이라면 딱히 문제가 없겠지만,
그렇지 않을 경우는
# 모든것을 불러운다.
select*
라는 명령을 썼을때, union을 희망하는 A테이블의 18개 칼럼과 B테이블의 19개 칼럼처럼
1개라도 칼럼의 숫자가 맞지 않는다면 이런에러가 뜰것이다.
ERROR 1222 (21000): The used SELECT statements have a different number of columns
따라서 이런 에러를 해결하려면 방법은 2가지다.
# 방법1 테이블 A의 18개 칼럼이 테이블 B 19개 칼럼에 모두 포함되어있는경우.
테이블A에다가 테이블 B에만 있는 칼럼을 추가해준다.
혹은 테이블B에만 있는 칼럼을 삭제해준다.
# 방법 2
칼럼이 테이블 A와 테이블 B를 비교했을때 갯수가 같더라도 내용이
A = height, weight, age
B = age, name, address 처럼 1개만 일치한다면
일치하는 1개의 컬럼만
select age from table_name
으로 불러와서 이용해준다.
=============================
그 외적으로는
union은 중복배제 출력 합성이고 (중학교때 배운 합집합이라고 보면 된다)
union all은 중복포함 출력 함수이다.
300x250
'개발일지 > SQL' 카테고리의 다른 글
SQL 접근 맥(맥북) 버전, (mysql, AWS) (0) | 2022.06.29 |
---|---|
SQL 카테고리 생성! (0) | 2022.06.29 |
SQL 문장 작성 실수 (0) | 2022.06.25 |
SQL 활용기초2 UPDATE로 테이블 안의 컬럼 값을 변경 (0) | 2022.06.25 |
SQL 활용기초1 (0) | 2022.06.25 |