책 홍보 : https://product.kyobobook.co.kr/detail/S000201370815
위 책을 읽고 실습 후 복습차원으로 게시물을 작성함을 알린다.
5) 중복된 값을 제거하고 출력하기
이럴 경우 SELECT 명령어 뒤에 DISTINTCT 키워드를 함께 사용하면 됨.
20건 결과 출력
중복된 부서 번호를 제외한 결과를 조회하니 총 13건의 결과가 출력
1 SELECT DISTINCT deptno , name , hobby
2. FROM emp
3 ORDER BY deptno ;
실행 결과를 보면 1차로 deptno 컬럼으로 DISTINCT 작업을 한 후 동일한 deptno가 있을 수도 있기 때문에 2차로 name 컬럼 값으로 다시 한번 더 정렬하고 name 3차로 hobby컬럼으로 DISTINCT 작업을 수행한 것을 알 수 있음.
결론은 DISTINCT 키워드는 deptno 컬럼 앞에 1회만 썼지만 뒤에 있는 name, hobby 컬럼 모두에 적용이 되어 속도가 아주 느림 SQL문장이 되기 때문에 매우 조심해서 사용해야 함.
6) WHERE 구문 사용하기 - 원하는 조건만 검색하기
원하는 조건을 지정하고 싶을 경우 WHERE 키워드를 사용하여 원하는 조건을 알려주면 됨.
SELECT [ Column or Expression ]
FROM [ Talble or View ]
WHERE 원하는 조건 ;
위 문법에서 중요한 부분은 WHERE 절의 위치인데 반드시 FROM 절 다음에 사용해야 함.
먼저 사원 정보가 저장되어 있는 emp 테이블에서 사원의 이름(name), 부서 번호(deptno), 취미(hobby) 정보를 추출하는데 모든 사원들이 아니라 부서 번호(deptno)가 1011 부서에 근무하는 사원들의 정보만 추출하면
1 SELECT name, deptno, hobby
2 FROM emp
3 WHERE deptno = 1011 ;
위 코드의 3번 행에서 WHERE 구문 뒤에 원하는 조건을 지정하면 됨.
다음은 emp 테이블에서 취미(hobby)가 등산(Climb)인 직원들의 이름(name), 취미(hobby) 값을 조회
1 SELECT name, hobby
2 FROM emp
3 WHERE hobby = 'Climb';
위 코드의 3번 행에서 WHERE hobby = 'Climb' ; 부분에서 주의할 내용
emp 테이블에서 생일이 1975-10-23보다 작은 날짜만 추출한 후 name, birthday 값을 출력
1 SELECT name, birthday
2 FROM emp
3 WHERE birthday < '1975-10-23' ;
7) 다양한 연산자 활용하여 조회
연산자 종류 | 설 명 |
= | 비교 대상에서 같은 조건을 검색 |
!=, <> | 비교 대상에서 같지 않은 조건을 검색(NOT과 동일) |
> | 비교 대상에서 큰 조건을 검색 |
>= | 비교 대상에서 크거나 같은 조건을 검색 |
< | 비교 대상에서 작은 조건을 검색 |
<= | 비교 대상에서 작서나 같은 조건을 검색 |
BETWEEN a AND b | A와 B사이에 있는 범위 값을 모두 검색(A와 B 포함) |
IN(a, b, c) | a이거나 b이거나 c인 조건을 검색 |
LIKE | 특정 패턴을 가지고 있는 조건을 검색(%, 사용) |
IS NULL/ IS NOT NULL | Null 값을 검색/Null이 아닌 값을 검색 |
A AND B | A 조건과 B 조건을 모두 만족하는 값만 검색 |
A OR B | A 조건이나 B 조건 중 한 가지라도 만족하는 값을 검색 |
SELECT 문으로 데이터 조회 2-3 연산자 활용 5~8 (0) | 2024.06.07 |
---|---|
SELECT 문으로 데이터 조회 2-2 연산자 활용 1~4 (0) | 2024.05.27 |
SELECT 문으로 데이터 조회 1 (0) | 2024.05.27 |
MySQL 기본 - SELECT 문 실습1 (0) | 2023.10.13 |
SQL 기본 - SELECT문 (2) | 2023.10.13 |