반응형


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를 출력하면 위의 필드값이 다 출력된다.






반응형