Table 의 데이터 조회
mysql > SELECT 컬럼1(필드), 컬럼2, ..., 컬럼n FROM 테이블이름;
- '*'을 사용하는 것 보다 조회 속도가 상대적으로 빠르므로 실무에서는 이 방법을 주로 사용한다.
- 조회를 원하는 컬럼만을 명시할 수 있다.
- 컬럼 나열 순서를 필요에 따라 변경할 수 있다.
검색 결과의 중복 행(레코드) 제거
SELECT DISTINCT 컬럼 FROM 테이블 이름;
- DISTINCT 키워드를 사용할 경우 중복 행(레코드)가 제거된다.
컬럼에 대한 별칭 부여
- 컬럼 이름 뒤에 공백으로 구분하는 경우
SELECT 컬럼 '별칭' FROM 테이블 이름;
- 컬럼 이름 뒤에 AS 키워드를 사용하는 경우
SELECT 컬럼 AS '별칭' FROM 테이블 이름;
산술 연산자 사용
- 컬럼 이름에 산술 연산을 적용하면 조회 결과에 적용되어 출력된다.
- 원본 데이터는 변하지 않으며, 값을 가공하여 출력할 수 있다.
SELECT 컬럼+-*/숫자 FROM 테이블 이름;
where절을 사용한 검색 조건 지정
SELECT [DISTINCT] 컬럼 [[AS] '별칭'] FROM 테이블이름; WHERE 검색조건;
- 검색조건에는 비교연산자와 논리연산자를 사용할 수 있다.
BETWEEN 연산자
- 조회 조건값의 범위를 설정하는 BETWEEN 연산자
- 특정 칼럼의 데이터 값중 하한값 A와 상한값 B 사이에 포함되는 행(레코드)를 검색하기 위한 연산자이다.
SELECT [DISTINCT] 컬럼 [[AS] '별칭'] FROM 테이블이름; WHERE 컬럼 BETWEEN A AND B;
- 아래와 같이 두 개의 비교식을 AND 연산자로 묶은 것과 동일한 결과를 얻을 수 있다.
SELECT 컬럼 FROM 테이블이름; WHERE 컬럼 >= A AND 컬럼 <= B;
IN 연산자
- 여러 개의 값 중에서 하나라도 일치하면 참이 되는 연산다.
- 특정 칼럼(필드)의 데이터 값이 A, B, ..., Z 값 중 하나라도 일치하면 '참'이 되는 연산자이다.
SELECT 컬럼 FROM 테이블이름; WHERE 컬럼 IN (A, B, ..., Z);
- IN 연산자는 여러개의 비교식을 OR 연산자로 묶은 것과 동일한 결과를 얻을 수 있다.
SELECT 컬럼 FROM 테이블이름; WHERE 컬럼=A OR 컬럼=B OR ... OR 컬럼=Z;
Like 연산자
- 특정 키워드가 포함된 데이터를 검색하는 연산자.
- 컬럼에 저장된 문자열이 LIKE 연산자에서 지정한 문자패턴과 부분적으로 일치하면 참이 되는 연산자이다.
SELECT 컬럼 FROM 테이블이름; WHERE 컬럼 LIKE '%검색어%';
문자 패턴 | 설명 |
---|
'%김' | '김'으로 끝나는 모든 내용 |
'김%' | '김'으로 시작하는 모든 내용 |
'%김%' | 앞 뒤 구분 없이 '김'을 포함하는 모든 내용. |
Is Null, Is Not Null 연산자
- NULL은 미확인 값 혹은 아직 결정되지 않은 값을 의미한다.
- NULL은 숫자 0이나 공백과는 다른 값이다.
- 대부분의 프로그래밍 구현에서 미필수 항목에 대하여 사용자가 입력하지 않은 경우를 NULL로 처리한다.
SELECT 컬럼 FROM 테이블이름; WHERE 컬럼 IS [NOT] NULL;
NULL 연산자 | 설명 |
---|
IS NULL | 컬럼(필드) 값 중에서 NULL을 포함하는 행(레코드)을 검색하기 위해 사용 |
IS NOT NULL | NULL을 포함하지 않는 행(레코드)을 검색하기 위해 사용 |
연산자 우선순위
❗️where절의 조건을 분석하는 우선순위
순위 | 연산자 |
---|
1 | 괄호()로 묶인 부분 |
2 | 비교연산자 (=, !=, <>, >, >=, <, <=) SQL연산자 (BETWEEN, IN, LIKE, IS NULL) |
3 | NOT |
4 | AND |
5 | OR |