1) show tables로 어떤 테이블이 있는지 살펴보기 (Ctrl+엔터 -> 실행 기능)
2) 제일 원하는 정보가 있을 것 같은 테이블에 select from 테이블명 으로 조회
3) 왼쪽에서 DB 선택 후 Table -> 테이블 선택 -> Columns 로 조회하는 것도
방법이나, 실제 데이터가 어떻게 등록돼 있는지를 보는 것이 좋으므로 위 2)를 반복하여
조회하고자 하는 데이터가 있는 테이블을 찾기
4) 테이이블 조건을 걸 필드를 찾기
5) select from 테이블명 where 조건 이것이 조회하는 가장 기본
일단 select from 테이블명으로 조회 하고
6) select 다음에 조회하고자 하는 필드 또는 조회하고자 하는 형태 (예> count() 등) 입력
7) where 다음에 '조건' 입력 - 아래2 참조
select 다음에 쓸 수 있는 것
1) 필드 - 필드 정보를 그대로 보여주고자 할 때
2) sum(A) - A 필드 값이 숫자로만 돼 있는 경우 해당 합계
3) count(A) - A 필드 값의 개수를 구할 때 (NULL 은 포함하지 않음)
4) avg(A) - A값들의 평균
5) SUBSTRING_INDEX(A,'x',1) (또는 SUBSTRING_INDEX(A,'x',-1) )
데이터 A의 값이 모두 x 를 포함하고 있을 때 x라는 문자를 기준으로 '1'을 넣으면 앞 문자가
'-1'을 넣으면 뒷 문자가 조회됨
6) SUBSTRING(A,a,n) - A필드 값의 a번째 값부터 n만큼의 문자를 조회 (엑셀의 mid 함수와 비슷한 듯)
7) case 문 (아래 설명 참조)
8) 기타 엑셀에서 처럼 두 개 이상의 필드의 사칙연산이나 round 로 값 조정 가능
*** select 사용 시 주의 사항 : 2개 이상을 조회하고자 할 때 반드시 콤마 (,) 가 있어야 함
조회하도록 선택한 항목 다음에 "as 명칭" 을 넣으면 해당 명칭이 해달 필드 타이틀이 되어 조회됨
주로 사용하는 선택 조건 (where 다음에 올 수 있는 것)
1) 같지 않음 : != ('!=' 에서 ! (느낌표)는 부정 (not)을 의미합니다. '='는 같음을 의미)
2)'범위' : between (예시 > begin_date between "2022-07-13" and "2022-07-15" )
3)'포함' : in (예시 > where week in (1, 3) )
4) 패턴' (문자열 규칙 / 포함의 의미) : like (예시>
- where email like 'a%': email 필드값이 a로 시작하는 모든 데이터
- where email like '%a' email 필드값이 a로 끝나는 모든 데이터
- where email like '%co%' email 필드값에 co를 포함하는 모든 데이터
- where email like 'a%o' email 필드값이 a로 시작하고 o로 끝나는 모든 데이터 )
5) 일부 데이터만 가져오기: Limit (가져오는 개수의 제한 설정)
6) 중복 데이터는 제외하고 가져오기: Distinct
7) 몇 개인지 숫자 세보기: Count
- select count(*) from employee_master
*** [응용] Distinct와 Count를 같이 쓸 때
case 문 사용
두 개 이상의 테이블에서 정보를 취득하고자 할 때
1) 각각의 테이블 정보 전체 보기
2) 공통적으로 있는 필드 찾기
3) inner join - 공통 필드로 엮어 두 테이블의 교집합으로 조회되게 함
구문 : select from table A inner join table B on A테이블 필드 = B테이블 필드
이 때, 테이블 이름이 복잡하고 긴 것을 피하기 위해 간략한 약어로 테이블 명명
예> select from table A a inner join table B b on a.id = b.id
4) left join - 엑셀의 VLOOKUP 처럼 하나의 테이블을 기준으로 다른 테이블의 값을 붙임
방식은 inner join 과 동일
어느 테이블을 기준으로 가져올 것인지를 잘 정해야 하며, 그 테이블이 from 다음에
조인할 테이블을 left join 다음에 정의하면 됨
Subquery 활용
1) 정해진 테이블에서의 조회가 아니라 편집을 통해 생성된 값이 활용되어야 할 때 필요
2) Subquery 는 보통 단독으로 실행해도 값이 조회되는 완벽한 쿼리 문
3) 해당 쿼리문을 조회해보고,
조회하고자 하는 쿼리의 기본틀을 만든 다음, 해당 조건이 들어가야 하는 부분에 괄호를 넣어 삽입
with 의 사용
1) 위 Subquery를 테이블로 정의하고, 해당 테이블을 황요하여 값이 조회되게 함
2) with 테이블명 as (쿼리) 형태로 하고, 테이블이 2개 이상인 경우
with 테이블 A as (쿼리 AA), 테이블 B as (쿼리 BB) 처럼 콤마로 연결
3) 상단에 with 로 테이블을 정의하고 하단에 select 구문을 넣어 함께 실행해야 함
8 기타 활용 가능한 기능
1) group by
- '~별' 로 조회하고자 할 때 제일 하단데 group by 컬럼을 넣고,
select 컬럼, 추가 조회하고자 하는 컬럼.. 을 넣는 식으로 함
- 주로 통계에 활용
2) order by
- 값의 정렬 순서
- order by A 는 A 값이 오름차순으로 정렬되어 조회됨
- 내림 차순으로 정렬하고 싶으면 order by A desc 처럼 'desc'를 추가로 입력