본문 바로가기
Database/MySQL

MySQL 기본 코드 복습

by java나유 2022. 10. 11.

=>연산식 출력 가능 - 프로그래밍 언어와 연동할 떄는 별명(영어)를 부여하는 것을 권장

 

=>where 절은 조건절-테이블의 데이터를 수평으로 분할

=,>,<,>=,<=,<>,!=:데이터 베이스는 문자열과 날짜도 크기 비교 가능

IS NULL, IS NOT NULL:NULL 조회

AND, OR, NOT

 

=> LIKE 연산자: 부분 일치하는 데이터를 조회할 때 사용

 

%:0글자 이상 매칭

_:1글자 매칭

[문자 나열]:나열된 문자 중 하나

[^문자 나열]: 나열된 문자를 제외하고 와일드 카드 문자를 검색하고자 할 때는 ESCAPE 이용

 

 

=>tCity테이블에서 area가 100보다 큰 데이터의 name과  area조회

 

=>tStaff테이블에서 score가 NULL 인 데이터 조회

 

=> tCity테이블에서 popu가 100이상이고 area가 700이상인 데이터 조회

AND는 앞 결과가 FALSE면 뒤 결과를 확인하지 않음

OR는 앞의 결과가 TRUE면 뒤에 결과를 확인하지 않음

 

1번과 2번의 순서가 바뀌어도 결과는 같지만, AND를 사용 할 때는 거짓을 리턴할 확률이 높은 조건을 앞에 작성하는 것이 좋고 OR를 사용할 때는 참을 리턴할 확률이 높은 조건을 앞에 작성하는 것이 좋다.

 

1번)

 

2번)

 

=>tCity 테이블에서 region이 경기가 아닌 데이터 조회

 

3가지 모두 결과 같음

 

 

=>between A AND B: A와 B사이 A<=B이어야함

tStaff 테이블에서 name이 부터 사이에 있는 데이터 조회 

 

=>IN:여러 개 중 하나 - IN(값을 나열)

tCity테이블에서 region의 값이 경상이나 전라 인 데이터 조회

3)order by

=>select 다음에 수행되는 절로 정렬을 위한 절

=>컬럼이나 연산식을 가지고 정렬

=>컬럼이나 연산식 대신 select절에 나열된 컬럼의 인덱스 가능 

=>컬럼이나 연산식 다음에 asc나 desc를 기재하게 되는데 asc는 오름차순, desc는 내림차순

asc는 생략해도됨 (기본 값)

=>관계형 데이터베이스는 종류 별로 데이터를 저장하는 방법이 다르기 때문에 행 순서는 없음

따라서 2개 이상의 행을 조회할 때는 정렬 해서 조회 하는 것이 바람직함.

MySQL에서 Primary Key를 이용해 정렬하고자 할 때는 굳이 정렬 옵션 사용할 필요 없음

 

4)DISTINCT

=>중복된 데이터를 제거하기 위한 설정으로 SELECT 절의 맨 앞에 와야함

컬럼 이름을 1개만 기재하면 컬럼 값이 일치시 제거

컬럼 이름을 여러개 기재하면 값이 모두 일치하는 경우에 제거

 

5)LIMIT

LIMIT 건너뛸개수, 조회할개수

LIMIT 조회할 개수 OFFSET 건너뛸 개수

 

=>건너뛸 개수는 생략하면 0

=>가장 마지막에 수행

 

=>일정한 크기 단위로 데이터를 가져올 때 필수

 

6)집계 합수

=>연산을 수행하는 함수

 

count (*또는 칼럼이름)

MAX (컬럼이름):최대값

SUM (컬럼이름): 합계 

AVG (컬럼이름): 평균 

MIN (컬럼이름): 최소값 

STDDEV (컬럼이름): 표준 편차 

VARIANCE (컬럼이름): 분산

 

=>GROUP BY절이 있으면 GRUOP별로 연산을 수행하고 , 없으면 테이블 전체를 대상으로 수행

=>NULL인 데이터는 연산 대상에서 제외

 

7)GRUOP BY

=>WHERE 다음에 기재해서 WHERE 다음에 수행되는 절로 그룹화하기 위한 컬럼이나 연산식을 나열

=>GRUOP BY가 있으면 SELECT 절에서는 집계함수와 GRUOP BY절에 기재된 컬럼만 조회 가능

 

 

->tStaff테이블에서 depart별로 그룹화 한 후 salary의 평균 조회

 

 

 

 

 

8)HAVING

=>gruop by 이후의 조건

=>where가 group by보다 먼저 수행되기 때문에 where에서는 집계 함수를 이용한 조건을 설정할 수 없음

=>집계함수를 이용한 조건은 having에 작성해야한다.

 

 

 

728x90

'Database > MySQL' 카테고리의 다른 글

JOIN  (0) 2022.10.12
MySQL 기본 코드 복습 2  (0) 2022.10.11
MariaDB 상태 확인 하는 법 *** \status  (0) 2022.09.22
기존 테이블에 원하는 위치로 칼럼 추가 하는 방법  (0) 2022.08.24
Mysql 버전 확인하는 법  (0) 2022.08.01

댓글