엑셀보다 쉬운 SQL 문법정리
SQL 문법정리
- 배운 모든 문법이 들어간 형태
select <필드> from <테이블> a
where <필드에 적용될 조건>
inner(or left)join <붙일 테이블> b on a.키값 = b.키값
group by <묶을 테이블(보통 "~별로 찾아라"라는 조건에 사용)>
order by <정렬 기준 필드> (기본 오름차순, desc를 적으면 내림차순)
**subquery는 select, from, where, join 그 어떤 자리라도 들어갈 수 있음**
Select
- 보고싶은 필드를 적는다
- group by나 where에 들어간 필드가 들어가면 보기 편한 것 같다
- 테이블에 없는 필드라도 보고싶은 통계(계산) 수치나 subquery를 넣어서 보면 된다
From
- select의 필드가 들어있는 테이블을 적는다
Where
- 보고싶은 데이터의 조건을 입력한다
- 특정 필드에 대한 조건을 입력한다
- ex) name like '이xx' -> name 필드에 '이xx'인 데이터를 불러오라는 조건
Group by
- 특정 필드에 중복되는 값을 기준으로 데이터를 묶어서 표시한다
- ex) group by name -> name 필드에 같은 이름인 데이터로 묶는다
- 특정 그룹의 정보를 기준으로 통계치를 작성할 때 사용
Order by
- 특정 필드를 기준으로 오름차순 또는 내림차순으로 정보를 정렬한다
- ex) order by name desc -> name 필드를 기준으로 내림차순으로 데이터 정렬
Join
- 기준이 되는 키값을 통해 두 개 이상의 테이블을 연결하고 하나의 테이블만으로는 확인할 수 없는 테이터를 확인한다
- left join과 inner join 두 가지를 주로 사용한다
- left join은 select문에 쓴 테이블을 기준으로 테이블을 붙이고, 붙은 테이블에 없는 정보는 NONE으로 표시된다
- inner join은 교집합 개념
- ex) table1에는 name, point 필드가, table2에는 name, age 필드가 있다면, name을 키값으로 하고 join을 사용하여 name별 point와 age를 함께 확인하거나 age별 point 평균을 구할 수 있다
<age별 point 평균을 구하는 코드>
select avg(t2.point) from table1 t1
inner join table2 t2 on t1.name = t2.name
- union: select를 두 번하지 않고 한번에 확인하고 싶을 때 사용(다른 조건의 두 쿼리를 한번에 표시)
Subquery
- 하나의 완성된 쿼리를 작성하여 목적에 따라 앞선 문법의 위치에 넣는 쿼리
- 현실 언어에 비유하면 부사절과 같다
- 조인을 사용하지 않고도 조인과 같은 효과를 낼 수 있다
- with절을 이용하면 더 깔끔하게 코드를 구성할 수 있다(미리 서브쿼리를 선언하고 뒤에선 서브쿼리의 as를 이용해서 코드를 작성)
etc.
- show tables를 하면 DB안의 모든 테이블 이름을 확인할 수 있다
- 문자열(substring, substring_index), 조건문(case), like, 별칭(as),
- 이미 앞선 SQL개발일지에서 세세한 코드 내용들은 적어뒀기 때문에 전체적인 각 문법의 내용을 이해할 수 있도록 정리했다
Author And Source
이 문제에 관하여(엑셀보다 쉬운 SQL 문법정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@karlrl3108/엑셀보다-쉬운-SQL-문법정리
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
select <필드> from <테이블> a
where <필드에 적용될 조건>
inner(or left)join <붙일 테이블> b on a.키값 = b.키값
group by <묶을 테이블(보통 "~별로 찾아라"라는 조건에 사용)>
order by <정렬 기준 필드> (기본 오름차순, desc를 적으면 내림차순)
**subquery는 select, from, where, join 그 어떤 자리라도 들어갈 수 있음**
<age별 point 평균을 구하는 코드>
select avg(t2.point) from table1 t1
inner join table2 t2 on t1.name = t2.name
Author And Source
이 문제에 관하여(엑셀보다 쉬운 SQL 문법정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@karlrl3108/엑셀보다-쉬운-SQL-문법정리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)