본문 바로가기

SQL18

MYSQL- EXISTS 문법 글 개요 이번 포스팅은 한 테이블에서 다른 테이블의 관계가 있으면 유용하게 사용할 수 있는 exists을 사용해보겠습니다. 글 본문 EXISTS 한 테이블에서 다른 테이블의 어떠한값이 있으면 반환 해주는 exists입니다. SELECT * FROM tableA EXISTS WHERE ( SELECT * from tableB where tableA.column = tableB.column ); 셀럽 테이블에 있는 연예인이 snl_show에 출연한 적이 있는 테이블에 있는지 확인하고 싶다면 exsits을 사용해도 좋을거 같네요. 위 내용은 join으로도 해결이 가능할 거 같습니다. left outer join으로 해결하는 방법입니다. NOT EXISTS 한 테이블에 다른 테이블에 값이 없는지도 확인할 수 있.. 2021. 11. 10.
MYSQL- EXCEPT 차집합 구하기 글 개요 이번 포스팅은 mysql에서 except를 구하는 방법을 알아보겠습니다. 아래에 있는 데이터는 공부하려고 만든 테이블입니다. 글 본문 postgressql에는 except라는 문법을 사용하면 A - B 차집합을 구할 수 있으나, mysql에서는 except를 사용하지 못합니다. 하지만, 차집합을 구할 수 있는 방법이 있습니다. SELECT tableA.column1 FROM tableA LEFT OUTER JOIN tableB on tableA.column = tableB.column where condition and tableB.column is null 위처럼 해주면 차집합을 구할 수 있습니다. 2021. 11. 10.
MYSQL- group by 과 having 사용하기 글 개요 이번 포스팅은 count, sum, mean, 등등 집계함수를 사용할 수 있게 하는 group by 그룹함수를 사용해 보겠습니다. 글 본문 group by group by절은 원하는 데이터 그룹끼리 데이터를 묶어서 사용할 수 있습니다. select 절에는 group by에 쓰인 column만 사용할 수 있습니다. 집계함수를 사용한 이상 그룹 바이 절과 집계함수를 쓰지않은 컬럼은 select 절과 group by절에 있어야합니다. group by는 보통 집계함수와 같이 사용됩니다. (count, sum, max, min, avg) group by는 from or where 절 다음에 나옵니다. select column1, sum(column1), count(column1) from table gr.. 2021. 11. 9.
MYSQL- is null or is not null 사용하기 글 개요 이번 포스팅에서는 sql에서 특정 컬럼에 null값이 있는지 없는지 확인할 때 사용하는 문법을 사용해보겠습니다. 글 본문 is null 특정 컬럼에 null값이 있으면 null값을 가지고 있는 값들을 반환합니다. select column1, column2, column3 from table where column is null; agency컬럼에 null값을 가지고 있는 데이터를 반환 합니다. is not null null값을 가지고 있지 않은 데이터를 반환합니다. select column1, column2, column3, ... from table where column is not null; agency에 null값이 없는 데이터들만 반환된걸 확인할 수 있습니다. 2021. 11. 9.
MYSQL- inner join, right join left join full outer join 사용하기 글 개요 이번 포스팅은 두개 이상의 테이블을 결합하는 것을 사용해보겠습니다. 글 본문 INNER JOIN 두개의 테이블에서 공통된 요소들을 통해 결합하는 조인 방식입니다. SELECT COLUMN1, COLUMN2 FROM tableA inner join tableB on tableA.column = tableB.column where condition; 예제 snl show host로 출연한 적인 celab데이터를 가져오려면 select * from celab inner join snl_show on celab.name = snl_show.host; LEFT JOIN 두개의 테이블에서 공통영역을 포함해 왼쪽 테이블의 다른 데이터를 포함하는 조인방식입니다. SELECT COLUMN1, COLUMN2 FR.. 2021. 11. 9.