- 쿼리: 데이터 베이스에 명령을 내린다
select 쿼리문: 데이터베이스에서 데이터를 선택해서 가져온다.
select 쿼리문에서 조건을 걸고싶을 때 where 뒤에 조건을 써준다.
-조건 부호들= : 같음
!= : 같지 않음
between ~and ~: 범위(~사이)
in (범위/여러가지 값들을 ,로 이음): 포함
like '패턴%패턴%패턴': 패턴(특정 문자(열)포함)
limit : 데이터를 몇개만 보고 싶을 때
distinct : 중복 제거
count : 갯수 세어보기
그리고❗기본적이지만 꼭! 까먹으면 안되는 것❗
글자를 ''로 감싸면 변수가 아닌, 문자열(값)로 인식한다.
- group by: 동일한 범주의 데이터를 묶어준다. (~별로 정렬할 때 사용)
쿼리 맨 마지막에 group by 필드명
ex) select count(*) from 테이블 group by 필드명- order by: 데이터를 오름차순/내림차순으로 정렬해준다.
쿼리 맨 마지막에 order by 필드명 (desc 내림차순)
정렬이 실행되는 순서를 알아두자~!
from → group by → select → order by
- min(필드명):동일한 범주 최솟값
- max(필드명):동일한 범주 최댓값
- avg(필드명):동일한 범주 평균
- sum(필드명):동일한 범주 합계
- alias: 별칭
-테이블에 별칭을 줘서 동일한 이름의 필드가 있을 때 어떤 테이블의 필드인지 간단하게 표현할 수 있다.
-필드 뒤에도 as 별칭으로 별칭을 나타내면 별칭으로 필드 제목이 출력된다.
- join: 동일한 이름과 정보가 담긴 필드(key값)를 기준으로 두개 이상의 테이블을 연결
select 필드 from 테이블1 a
inner/left join 테이블2 b on a.필드명=b.필드명
➡ on 뒤의 조건이 참일 때 조인을 실행한다.-left join:
어떤 데이터는 모든 필드가 채워져있지만, 어떤 데이터는 비어있는 필드가 있습니다.꽉찬 데이터: 해당 데이터의 user_id 필드값이 point_users 테이블에 존재해서 연결한 경우
비어있는 데이터: 해당 데이터의 user_id 필드값이 point_users 테이블에 존재하지 않는 경우
비어있는 데이터의 경우, 회원이지만 수강을 등록/시작하지 않아 포인트를 획득하지 않은 회원인 경우에요!
➡ where절을 이용해서 확인해볼 수 있다.-inner join: 교집합
- union: 결과물 합치기
(쿼리)union all(다른 쿼리)
단, 합치려는 두 개의 필드명이 같아야 한다!
정렬은 union all을 사용하면 정렬은 모두 깨진다.
subquery: 쿼리 안에 들어가는 쿼리
-select 필드,필드,(섭쿼) from 테이블
-where 필드 in(섭쿼)
-from 테이블 inner join (섭쿼) 섭쿼알리아스 on 조건with절: 쿼리 맨 위에서 서브쿼리로 들어갈 테이블을 먼저 정의해준다
-with table1 as(섭쿼), table2 as (섭쿼) ... select 문 시작문자열 문법:select 문에 필드로써 사용해준다.
-substring_index: 문자열에 포함된 특정 문자를 기준으로 앞/뒤로 나눠 출력할 수 있다.substring_index(필드,쪼개는 기준,앞(1)또는 뒤(-1))
-substring: 문자열의 특정 부분만 출력할 수 있다.
substring(필드,시작점,시작점으로부터 몇글자까지)
-case:조건에 따라 원하는 값을 새로운 필드를 생성해 출력할 수 있다.
case when 특정 필드 조건 충족시 then 따로 필드를 생성해 '이렇게 문자열을 출력해라'
when 또다른 조건일시 then '출력내용'
else 충족하지 않는다면 '이렇게 출력' end