데이터 조작어는 4종류가 있습니다. 조작어는 모두 동사로 시작합니다. Select, Insert, Update, Delete 조작어가 있습니다.
Select 구문의 기본문형
Select 의 기본문형은 다음과 같습니다.
Select *
컬럼명에는 * 를 사용할 수 있으며 모든 컬럼을 보고 싶을 때 사용합니다. DBMS에 접속을 하구요. Select * from department; 를 수행한 결과는 다음과 같습니다.
Select c1, c2
특정 컬럼들만 지정해서 보고 싶다면 콤마 , 를 이용해서 보고 싶은 컬럼들을 나열할 수 있습니다.
Select AS
출력되는 컬럼명들을 내가 지정한 것으로 보고 싶다면 alias(as)를 이용할 수 있습니다. DBMS를 잘 모르는 사람들도 이해할 수 있게 보고서를 만들 때 유용하게 사용할 수 있습니다.
Select concat( )
Select 을 할 때 컬럼들을 결합시켜서 하나의 칼럼으로 출력할 수도 있습니다. concat( ) 이라는 함수를 이용하면 됩니다. 위와 같이 실행해 볼 수 있습니다.
Select distinct
한 컬럼안에서 중복되는 행들이 있는데 제거하고 보고 싶다면 distinct 키워드를 사용할 수 있습니다. 중복이 많다.중복을 제거하고 확인할 수 있다.
Select ~ Order By
Order By ASC 혹은 DESC 를 사용하여 정렬을 지정해줄 수 있다. name 을 기준으로 정렬하여 Select 하였다.Order by 컬럼명 으로 진행하면 기본 값이 ASC 으로 정렬된다. DESC 를 사용하면 내림차순으로 정렬한다. 컬럼 명이 아니라 1번 째 컬럼, 2번 째 컬럼 기준 정렬을 사용할 수도 있다.
Select ~ where
Where 절에 대해서 알아보겠습니다. Select 절을 사용하는 이유가 내가 원하는 조건을 갖는 값을 가져오기 위함인데요. Where 절을 이용하면 조건을 부여할 수 있습니다. Where 절에 산술 비교 연산자를 사용할 수도 있습니다. 이번에는 = 이라는 논리연산자와 함께 실제로 where 절을 사용해보겠습니다. where 컬럼 in (x) 도 사용 가능하다. 특정 행을 검색할 수 있다. Like 키워드도 사용할 수 있다. 와일드 카드와 함께 사용하는데 %와 _가 있다.
Select 함수
UCASE, UPPER 함수도 사용할 수 있다. mysql 은 아예 from 절이 없이 select 를 진행할 수도 있다. LCASE, LOWER 함수도 사용할 수 있다. 컬럼의 데이터들을 Lower 한 것을 볼 수도 있다. substring 을 사용하여 내가 지정하는 index 에서 몇 개만 꺼내서 볼 수도 있다. 주의할 점은 Database 에서 이런 index 는 시작이 1인 경우가 많다. 여기서도 index 시작이 0이 아니라 1이다. LPAD, RPAD 는 지정한 자릿수만큼 데이터가 채우지 않는 다면 남는 자리를 지정하는 값으로 채워 넣어주는 기능을 수행한다. LPAD 와 RPAD 함수 인자로 컬럼을 사용할 수도 있다. TRIM, LTRIM, RTRIM 은 공백을 없애주는 함수입니다. trim 은 클라이언트가 공백을 잘 못 입력하는 경우를 배제해주기 때문에 자주 사용합니다.
ABS 함수도 존재합니다. MOD 함수도 존재합니다. 나머지를 구해줍니다. 이외의 SELECT 함수에는 다음과 같은 것들이 있습니다. Floor, Ceiling, Round, Pow, Power, Greatest, Least, Curdate, Current_date, Curtime, Current_time, Now, Sysdate, Current_timestamp, Date_format, Period_diff 등이 있습니다.
Select Cast 형변환
오라클이나 다른 DB에서도 이 기능이 존재하는데요. 실제 데이터 타입을 바꾸어서 사용할 수 있는 기능을 제공합니다. MySQL은 원래 없었던 기능인데 버전 4.x 버전 이후부터 함수가 등장하게 되었습니다. 대표적인 함수들이 CAST, CONVERT 함수들입니다.