요르딩딩

SQL강의 - 2 (쿼리결과중복제거, 논리연산자, 결과정렬) 본문

[Web]/[DB & Mybatis]

SQL강의 - 2 (쿼리결과중복제거, 논리연산자, 결과정렬)

요르딩딩 2022. 6. 11. 14:42
728x90
반응형

쿼리결과 중복제거 (DISTINCT)

DISTINCT
1. 중복된 값들이 나오는 경우에 이를 제거해서 표시하는 기능
2. select distinct 컬럼명1, 컬럼명2, ... from  테이블명 where 조건절

논리연산자 (AND, OR, NOT)

1. select문의 조건절에 논리조건 적용해서 적용할 수 있는 연산자
2. select * from 테이블명 where (not) 조건1 and/or (not) 조건2...

논리연산자 (IN, BETWEEN)

영어(IN, BETWEEN)로 표현하는 것도 가능

결과정렬 (ORDER BY)

1. select문의 결과값을 특정한 컬럼을 기준으로 오름차순/내림차순으로 정렬해서 표시
2. select * from 테이블명 where 조건절 order by 컬럼명 asc/desc,...
3. 기본값은 오름차순 정렬임/여러 개의 컬럼을 나열하면 순서대로 정렬

결과값 일부 조회

1. SQL쿼리 결과 중 상위 몇 개만 보여주는 쿼리
2. select 컬럼명1, 컬럼명2, ... from 테이블명 where 조건절 limit 숫자
3. 대표적인 비표준기능 (DBMS종류마다 다름) : 오라클(ROWNUM), SQLServer(TOP)

집합함수

1. 테이블의 전체레코드를 대상으로 특정 컬럼을 적용해서 한개의 값을 리턴하는 함수
2. count(), avg(), sum(), min(), max(), first(), last()...
3. select 집합함수(컬럼명) from 테이블명 where 조건절;

유용한 함수

1. LENGTH() : 레코드의 문자열 컬럼의 글자수를 리턴한다.
2. MID() : 문자열의 중간부분을 리턴한다.
3. UPPER()/LOWER() : 문자열을 대/소문자로 리턴한다.
4. ROUND() : 레코드의 숫자 컬럼을 반올림해서 리턴한다.

추가

대체가능한 경우
1. IN은 OR로 변경가능
   select * from A where a in('b', "c");
   = select * from A where a="b" or a ="c";

2. 컬럼명 BETWEEN A AND B는 A <= 컬럼명 AND 컬럼명 <=B로 변경가능
   select * from A where a between 10 and 20;
   = select * from A where a>=10 and a <=20;

 

728x90
반응형
Comments