💡산술 연산자
SQL에서는 +, 0, *, / 기호를 사용할 수 있다.
% 기호는 없으므로 나머지를 구하는 작업은 mod() 함수를 사용하여 계산한다.
select * from tblCountry;
산술 연산자의 사용
select
population,
area,
population + area,
population - area,
population * area,
population / area
from tblCountry;
💡문자열 연산자
자바는 문자열과 문자열을 합하는 연산자가 있었다. 그러나 SQL에서는 +가 아니라 || 기호를 사용하여 문자열을 합할 수 있다.
SELECT name, couple, name + couple FROM tblMen;
ORA-01722: invalid number
01722. 00000 - "invalid number"
*Cause: The specified number was invalid.
*Action: Specify a valid number.
문자열 연산자의 사용
SELECT name, couple, name || couple FROM tblMen;
💡비교 연산자
SQL에는 boolean이 없으므로 명시적으로 표현이 불가능하다.
즉 조건이 필요한 상황에서만 사용이 되고, 시각적으로 보이는 작업에 사용할 수 없다.
컬럼 리스트에서 사용할 수 없고, 조건절에서 사용하며 논리값을 반환한다.
SELECT height, weight, height > weight FROM tblMen;
ORA-00923: FROM keyword not found where expected
00923. 00000 - "FROM keyword not found where expected"
*Cause:
*Action:
46행, 31열에서 오류 발생
비교 연산자의 사용
SELECT height, weight FROM tblMen WHERE height > weight;
💡대입 연산자
컬럼 = 값
대입 연산자는 어떤 값을 컬럼에 대입할 때 사용한다.
💡SQL 연산자
SQL연산자는 in, between, like, is 등이 있다.
어디에서는 연산자, 어디에서는 절, 구 등 부르는 표현이 통일되어 있지 않다는 특징이 있다.
공식 문서에서는 이를 독립적으로 표현할 뿐, 미사여구로 특정해놓지 않았다.
AS (Alias)
SELECT name, age, age - 1 FROM tblMen;
수많은 데이터를 제대로 관리하기 위해서는 컬럼의 이름을 명확하게 정의하고 있어야 한다.
컬럼의 이름을 정확히 정의해야 하는 이유는 어떤 성질의 데이터라는 것을 알아야 데이터를 컨트롤 할 수 있기 때문이다.
컬럼명은 식별자이므로 알기 쉽게 컬럼명을 수정해야 한다. 이때 사용할 수 있는 게 AS 연산자이다.
컬럼의 별칭
SELECT name, age, age - 1 AS 나이 FROM tblMen;
AS(Alias)는 컬럼의 별칭이라고 한다. 이처럼 컬럼은 언제든지 이름을 바꿀 수 있다.
컬럼의 별칭은 되도록 가공된 컬럼에 적용하는 게 좋다.
컬럼명이 식별자로 적합하지 않을 때 이처럼 적합한 식별자로 수정할 목적으로 사용할 수 있다.
식별자에 공백 사용
SELECT
name AS 이름,
age,
age - 1 AS 나이,
length(name) AS 길이,
couple AS 여자 친구
FROM tblMen;
ORA-00923: FROM keyword not found where expected
00923. 00000 - "FROM keyword not found where expected"
*Cause:
*Action:
85행, 106열에서 오류 발생
'여자 친구' 에는 공백이 들어가 있기 때문에 오류가 발생한다.
예약어, 키워드 등 식별자가 될 수 없는 이름을 식별자로 쓰려고 할 때 ""을 쓸 수 있다.
SELECT
name AS 이름,
age,
age - 1 AS 나이,
length(name) AS 길이,
couple AS "여자 친구"
FROM tblMen;
""로 묶으면 사용할 수는 있지만, 이런 방법은 지양하는 것이 좋다.
테이블의 별칭
SELECT * FROM tblMen t;
컬럼뿐만 아니라 테이블에도 별칭을 붙일 수 있다.
이때는 AS를 사용하지 않는다.
테이블의 별칭은 개발자가 가독성을 높이고 편하게 하려고 할 때 사용한다.
SELECT tblMen.name, tblMen.age, tblMen.height, tblMen.weight, tblMen.couple FROM tblMen;
SELECT m.name, m.age, m.height, m.weight, m.couple FROM tblMen m;
의미를 알아보지 못하는 건 중요하지 않다. 테이블의 별칭은 최대한 한 글자로 작성한다.
각 절의 실행 순서가 FROM절 > SELECT절이라고 했다.
FROM절부터 시작하기 때문에 사전에 테이블 별칭을 정의하는 게 가능하다.