카테고리 없음

SQL강의 4주차 select문 문법정리

barryjung 2023. 2. 17. 20:26

(23/2/17 SQL 온라인 강의 4주차. 전체 수강완료.)

(아래는 총 정리와 참고를 위해 직접 문법을 정리한 내용.)

 

테이블 목록 불러오기 
show tables


기본 테이블 조회
select * from 테이블명
select 테이블명.* from 테이블명
select 필드명, 필드명 from 테이블명

 

-쿼리문 끝에 limit 숫자로 조회열수를 정할수 있다.


Where절로 조건걸기
select * from 테이블명 where 조건
select * from 테이블명 where 조건 and 조건
select * from 테이블명 where 조건 or 조건

-조건 형태
-해당하는 값
필드명 = 값
필드명 = '문자'
-아닌것
필드명 != 값
-크거나 작거나
필드명 > 값
필드명 < 값
필드명 >= 값
필드명 <= 값

-범위 between
필드명 between 값 and 값
-포함 in
필드명 in (값, 값)
-문자열포함 like
필드명 like (%값) / (값%) / (%값%)


Select 필드명에 구문 넣기
select 구문(필드명) from 테이블명

 

-구문형태

개수세기 count(필드명)
중복제외하기 distinct(필드명)
개수+중복제외 count(distinct(필드명))
총합내기 sum(필드명)
평균내기 avg(필드명)
소수점올림 round(필드명)
평균+소수점올림 round(avg(필드명),숫자)

-문자열에서 값빼내기 substring
substring(필드명, 시작위치, 문자개수)
substring_index(필드명, 구분자, 1 아니면 -1)


-검토,통계용 값만들기 case
case when 필드명과 조건 then 값'문자'
else 값 end


Where 아래구문
-그룹묶기 group by

group by 필드명
group by 필드명, 필드명

mysight.그룹으로 묶은 테이블에 count를 쓸경우 그룹별 개수를 출력함


-정렬하기 order by

order by 필드명 desc내림차순 asc오름차순-기본값

order by 필드명 desc, 필드명


-테이블연결하기 jojn
교집합 Inner join 테이블명 on 테이블명.필드명 = 테이블명.필드명
왼쪽으로 left join 테이블명 on 테이블명.필드명 = 테이블명.필드명


별칭붙이기 alias
테이블명(한칸공백)문자
select 필드명 as 문자
mysight. 테이블 별칭을 정의했다면 하위 구문에서 별칭으로 지칭해야 오류안남. 아닐경우 오류.
mysight2. 필드명 정의는 해당쿼리의 하위단계로 해당쿼리 안에선 지칭불가. 서브쿼리로 테이블을 가져올경우 지칭가능. 복잡한 필드명 구문이 있을시 후자의 방법이 용이함. 혹은 with를 쓰면됨.

기본 형태에서 실행순서는 from-where-group by-select-하위(order by, limit). 즉 order by에선 지칭가능.


별도구문
-두 쿼리 합치기 union
(위 테이블)
union all
(아래 테이블)
정렬이 어렵다.

-서브쿼리기능
select (서브쿼리) from (서브쿼리) where (서브쿼리) inner join (서브쿼리)
-select, from, where에 다 가능. (괄호안에 쿼리 형태)

-서브쿼리와 비슷한 with
with 명칭1(별칭지정) as ( 쿼리 형태 ), 명칭2 as ( 쿼리형태 )
select * from 지칭가능 where 지칭가능 inner join 지칭가능


끝.

mysight. SQL은 같은 답을 여러 방법으로 얻을수 있다. 더 간단한 방법을 잊지 않았는지 생각할것.