IN
https://www.w3schools.com/sql/sql_in.asp
IN 구문은 OR 구문을 더 간결하게 해주기 위한 것이다.
IN Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
또는
SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT STATEMENT);
로 작성한다.
SELECT * FROM Customers WHERE Country='Germany' OR Country='France' OR Country='UK';
대신
SELECT * FROM Customers WHERE Country IN ('Germany', 'France', 'UK');
로 쓸 수 있다.
SELECT * FROM Customers WHERE City IN (SELECT City FROM Suppliers);
Customers 테이블에서 City를 추출해내는데 조건이 Suppliers 테이블에서 City필드에 있는 것들이어야한다.
BETWEEN
https://www.w3schools.com/sql/sql_between.asp
BETWEEN Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
BETWEEN 구문은 BETWEEN A AND B에서 A와 B사이 범위에 있는 값을 모두 가져온다.
이때 범위는 숫자, 문자, 날짜 등등이 될 수 있다.
SELECT * FROM Customers
WHERE CustomerID BETWEEN 10 AND 30;
Customers 테이블에서 CustomerID가 10~30사이인 값들을 가져온다.
SELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;
Products 테이블에서 ProductName이 Carnarvon Tigers에서 Mozzarella di Giovanni 사이인 값들을 추출해낸다.
이때 ProductName을 기준으로 오름차순 정렬한다.
SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;
NOT BETWEEN 구문도 적용된다.
이전 쿼리에서의 사이값이 아닌 값들이 출력 될 것이다.
SELECT * FROM Orders
WHERE OrderDate BETWEEN #05/26/1996# AND #05/26/1997#
Orders 테이블에서 1996년 5월 26일 ~ 1997년 5월 26일 사이의 값이 출력된다.
ALIAS
https://www.w3schools.com/sql/sql_alias.asp
Alias Column Syntax
SELECT column_name AS alias_name
FROM table_name;
컬럼에는 다음과 같이 별칭을 부여할 수 있고
Alias Table Syntax
SELECT column_name(s)
FROM table_name AS alias_name;
테이블에는 다음과 같이 별칭을 부여할 수 있다.
Aliases는 테이블, 컬럼 아니면 변수명에 사용된다.
이런 별칭은 필드명을 더 읽기 쉽게 만들기 위해 사용한다.
별명은 쿼리문이 종료되기까지만 존재하게 된다.
SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers
WHERE ID BETWEEN '1' AND '10';
CustomerID에는 ID라는 별명을, CustomerName에는 Customer을 부여하고
ID는 1에서 10 사이의 값을 출력한다.
SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers
WHERE [Contact Person] = 'Maria Anders';
SELECT CustomerName AS Customer, ContactName AS "Contact Person"
FROM Customers
WHERE "Contact Person" = 'Maria Anders';
SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers
WHERE "Contact Person" = 'Maria Anders';
별명은 여러 단어로도 나타낼 수 있다.
이때 두단어 이상의 별명을 이용하기 위해서는 [별명] 혹은 "별명"으로 해야한다.
SELECT CustomerName, Address + ', ' + PostalCode + ' ** ' + City + ', ' + Country AS Address
FROM Customers
WHERE Address;
SELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers;
Address를 문자열로 나타낼 수 있고 필드를 합칠 수 있다.
Address를 출력하면 위의 필드값이 다 출력된다.