💡형변환 함수 to_char(숫자): 숫자를 문자로 변환 to_char(날짜): 날짜를 문자로 변환 to_number(문자): 문자를 숫자로 변환 to_date(문자): 문자를 날짜로 변환 숫자형과 문자형, 무엇이 다를까? SELECT weight, to_char(weight), length(to_char(weight)), --같은 구문 length(weight), --같은 구문 substr(weight, 1, 1), weight || 'kg' FROM tblcomedian; 숫자형인 경우 왼쪽 상단에 '123', 문자형인 경우 'ABC'가 있는 것을 확인할 수 있다. 그리고 숫자는 우측 정렬, 문자는 좌측 정렬이 되어 있다. length가 암시적인 형변환으로 숫자형인 weight를 문자형으로 변환하여 ..
💡문자열 함수 upper(), lower(), initcap() varchar2 upper(컬럼) varchar2 lower(컬럼) varchar2 initcap(컬럼) upper, lower, initcap 함수는 대소문자 반환 함수라고 한다. 위 함수는 주로 검색에 사용한다. upper, lower, initcap 함수의 사용 SELECT first_name, upper(first_name), lower(first_name) FROM employees; SELECT 'abc', initcap('abc'), initcap('aBC') FROM dual; initcap 함수는 첫 문자를 대문자로 반환할 뿐 아니라, 첫 문자를 제외한 나머지 문자는 소문자로 변환한다. 마치 파스칼 표기법처럼 보이게 할 때 ..
💡숫자 함수 round() number round(컬럼명): 정수 반환 number round(컬럼명, 소수 이하 자릿수): 실수 반환 round 함수는 반올림을 해주는 함수이다. round 함수의 사용 SELECT 3,5678, round(3.5678), round(3.5678, 0), round(3.5678, 1), round(3.5678, 2) FROM dual; 원하는 자릿수의 반올림된 값을 확인할 수 있다. round의 소수 이하 자릿수를 지정하지 않자 실수가 정수로 반올림되어 출력되었다. SELECT round(avg(basicpay)) FROM tblinsa; --1556527 소수 이자 자릿수가 긴 값의 경우 round 함수를 이용해 깔끔하게 출력할 수 있다. floor(), truc() ..
💡dual 테이블 SELECT * FROM dual; dual 테이블은 시스템 테이블(오라클에서 만든 테이블)로, 컬럼이 하나뿐이다. dual은 1행 1열짜리 테이블이라는 것을 의미하며, 여기에 들어 있는 이 데이터는 아무 의미가 없다. dual 테이블의 사용 SELECT sysdate FROM tblinsa; sysdate는 날짜/시간을 출력한다. 그런데 특정 테이블에서 이를 출력하려고 하면 select 데이터의 개수만큼 출력이 된다. 이를 한 번 출력하려면 WHERE num = 1001; 을 붙여주어야 한다. 이럴 때 사용할 수 있는 게 dual 테이블이다. SELECT sysdate FROM dual; 원하는대로 날짜가 한 번만 출력된 것을 확인할 수 있다. 이처럼 dual 테이블의 행이 하나라는 ..
💡집계 함수 집계 함수(Aggregation Function)는 여러 행 또는 테이블 전체 행으로부터 결괏값을 반환하는 함수를 의미한다. 집계 함수 사용시 주의할 점 1. SQL Error [937] [42000]: ORA-00937: not a single-group group function SELECT count(*) FROM tblInsa; --직원수 SELECT name FROM tblInsa; --직원명 SELECT count(*), name FROM tblInsa; 위와 같은 데이터가 있다는 가정 하에 직원들 이름과 총 직원수를 동시에 가져오려고 할 때, 에러가 발생했다. 에러는 싱글 그룹 함수가 아니라는 메시지가 출력되었다. 이런 에러가 발생하는 이유는 컬럼 리스트에서는 집계 함수(coun..
💡ORDER BY절 [WITH ] SELECT column_list FROM table_name [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ASC|DESC]] SELECT 컬럼리스트: 3. 컬럼 지정 (보고 싶은 컬럼만 가져오기) > Projection FROM 테이블: 1. 테이블 지정 WHERE 조건: 2. 조건 지정 (보고 싶은 행만 가져오기) > Selection ORDER BY 정렬기준: 4. 순서대로 정렬 ORDER BY절의 사용 order by 컬럼명 [ASC|DESC] order by절은 위와 같은 형태로 작성하며, 생략할 경우 ASC로 ..
💡WHERE절 [WITH ] SELECT column_list FROM table_name [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ASC|DESC]] SELECT 컬럼리스트: 3. 컬럼 지정 (보고 싶은 컬럼만 가져오기) > Projection FROM 테이블: 1. 테이블 지정 WHERE 조건: 2. 조건 지정 (보고 싶은 행만 가져오기) > Selection WHERE은 조건을 가지고 있는 절이다. SELECT절에는 실행순서가 정해져 있는데, 이때 실행순서는 코딩 순서가 아니라 FROM(1) > WHERE(2) > SELECT(3) 순서이다. W..
💡SELECT문 SELECT문은 DML, DQL에서 사용된다. SQL은 SELECT로 시작해서 SELECT로 끝난다는 말이 있을 정도로 SQL은 SELECT 위주이다. SELECT문의 구성 전체 SELECT문 [WITH ] SELECT column_list FROM table_name [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ASC|DESC]] WITH절, SELECT절, FROM절 등 각각을 절이라고 부른다. 각 절마다 기능을 이루어 하나의 SELECT구문이 만들어지게 된다. 기본적인 SELECT문 SELECT column_list FROM tabl..