BE/mySQL\MariaDB

[mysql] DML - select

Juliie 2020. 8. 1. 15:46

* DML: 데이터 조작어(Data Manipulation Language)

* DML의 종류

  1. SELECT - 검색

  2. INSERT - 등록

  3. UPDATE - 수정

  4. DELETE - 삭제

 

SELECT 구문

SELECT [DISTINCT] 칼럼명 [ALIAS] FROM 테이블명 WHERE 조건식 ORDER BY 컬럼이나 표현식 [asc | desc];

 

전체 검색: SELECT 뒤에 *를 붙인다

select * from department;

특정 컬럼 검색: SELECT 뒤에 컬럼을 콤마(,)로 구별해서 나열한다

select empno, name, job from employee;

컬럼에 별칭(Alias) 부여하기: SELECT 컬럼명 as 컬럼의 별칭

select empno as 사번 from employee;

컬럼 합성하기: 문자열 결합함수 concat을 사용한다

select concat(empno, '-', deptno) from employee;

중복 행 제거하기: distinct 키워드를 이용한다

select distinct deptno from employee;

정렬하기: order by 절에서 기준이 되는 컬럼을 지정한다

select empno, name, job from employee order by name desc;

특정 행 검색하기: where절에서 조건식을 작성한다

select name from employee where hiredate < '1981-01-01';

select name from employee where deptno = 30;

select name from employee where deptno in (10, 30);

 

LIKE 키워드: 와일드 카드를 사용하여 특정 문자를 포함한 값에 대한 조건을 처리

%는 0에서부터 여러 개의 문자열을 나타내며 _는 단 하나의 문자를 나타냄

select name from employee where name like '%A%';

 

그 외 SELECT 함수

  • UCASE, UPPER(문자열): 소문자를 대문자로 변환함

select ucase('sEouL), upper('Busan');

  • LCASE, LOWER(문자열): 대문자를 소문자로 변환함

select lcase('DAEjeOn'), lower('dAeGU');

  • SUBSTRING(문자열, 시작위치 길이): 문자열의 시작위치에서 길이만큼 반환

select substring('Happy Day', 3, 2) -> pp

  • LPAD, RPAD(문자열, 길이, 채울 문자열): 문자열의 길이를 주어진 길이만큼 늘리고 빈 공간을 채울 문자열로 채운다.

(LPAD는 왼쪽에 문자열을 채우고 RPAD는 오른쪽에 문자열을 채움)

  • TRIM, LTRIM, RTRIM(문자열): 공백을 제거해준다

(LTRIM은 왼쪽의 공백만, RTRIM은 오른쪽의 공백만, TRIM은 양 쪽 모두)

TRIM(LEADING | TRAILING | BOTH '제거할 문자열' '전체 문자열');

(LEADING은 좌측 문자열, TRAILING은 우측 문자열, BOTH는 양쪽 문자열을 제거)

  • ABS(숫자): 숫자의 절대값을 구해준다
  • MOD(num1, num2) %: num1을 num2로 나눈 나머지 값을 출력해준다
  • FLOOR(숫자): 주어진 숫자보다 크지 않은 수 중에서 가장 큰 수를 반환한다
  • CEILING(숫자): 주어진 숫자보다 작지 않은 수 중에서 가장 작은 정수를 반환한다
  • ROUND(숫자): 주어진 숫자에 가장 근접한 정수를 반환한다
  • POW, POWER(x, y): x의 y 제곱값을 반환한다
  • GREATEST(num1, num2, num3...): 가장 큰 값을 반환한다
  • LEAST(num1, num2, num3...): 가장 작은 값을 반환한다
  • COUNT(컬럼명): NULL이 아닌 행의 개수를 반환한다
  • COUNT(DISTINCT 컬럼명): NULL이 아니며 중복되지 않은 행의 개수를 반환한다
  • COUNT(*): 행의 개수를 반환한다
  • AVG(컬럼명): 컬럼의 평균값을 반환한다
  • MIN(컬럼명): 컬럼의 최소값을 반환한다
  • MAX(컬럼명): 컬럼의 최대값을 반환한다
  • SUM(컬럼명): 컬럼의 합계를 반환한다
  • VARIANCE(컬럼명): 컬럼의 분산을 반환한다
  • STDDEV(컬럼명): 컬럼의 표준편차를 반환한다