서버/DB

오름차순, WHERE절, 문자와 날짜 검색, 산술 연산자 등 연습

민밥통 2023. 10. 20. 14:32

초보자를 위한 SQL 200제 - 36페이지 컬럼별칭

SELECT BRN as 사업자명, CRN as 사업자등록번호, bnsiness as 대표성함, address as 주소, customer_tell as 전화번호, salesincharge as 담당영업
FROM CustomerInformation;

본문은 변경 안함 출력할 때만 잠시 이렇게 뜸 (보는 사람이 편안하게)

더보기

SELECT 기존컬럼명 as 별칭컬럼명,  기존컬럼명 as 별칭컬럼명

FROM 테이블명;

이런식으로 하면 된다.

오류난다면 그 이유는 별칭컬럼명에 띄어쓰기 있어서 그럼!

-- 9월10월날짜에 동일한 값을 총합할 때? 사용하면 좋은듯! 
SElECT Order_date, Order_quantity *(600+5000) as 매입금액
FROM purchaseorder;

--수식에 컬럼 별칭을 사용하면 ORDER BY절을 사용할 때 유용하다.
-- 수식명을 작성하지 않고 컬럼별칭만 사용하면 되기 때문에 SQL작성이 간편해짐
SElECT Order_date, Order_quantity *(600+5000) as 매입금액
FROM purchaseorder
ORDER BY 매입금액 desc;

--연결 연산자 사용하기 (||) 이클립스에서만!
SELECT Employee_name || '의 나이는' || Employee_age || '입니다' as 나이정보
FROM EmployeeRegistration;
-- MySQL에서는 이런식으로 붙어서 사용
select concat(Employee_name, Employee_age) from EmployeeRegistration;

-- 중복된 데이터를 제거해서 출력하기(DISTINCT)
select distinct Order_date
from purchaseorder;

-- 데이터를 정렬해서 출력하기(ORDER BY)
select Employee_name, Employee_age
FROM EmployeeRegistration
ORDER BY Employee_age asc;

-- WHERE절 배우기(숫자 데이터 검색)
SELECT sales_account, sales_date, unitprice
FROM Salesinquiry
WHERE unitprice = 4933;

 

오름차순 ASCEDING (ASC)
내림차순 DESCENDING (DESC)
-- WHERE절로 비교 연산자 사용
SELECT sales_account as 거래처, sales_date as 날짜, unitprice as 단가
FROM Salesinquiry
WHERE unitprice <= 4933;

-- WHERE 절 배우기(문자와 날짜 검색)
SELECT MGMT_Customerinformation, MGMT_salestuff, MGMT_Expecteddepositdate
FROM Collectionmanagement
WHERE MGMT_Customerinformation = '신한은행';

-- WHERE절 날짜 검색
SELECT MGMT_Customerinformation, MGMT_salestuff, MGMT_Expecteddepositdate,MGMT_Actualdeposit
FROM Collectionmanagement
WHERE MGMT_Actualdeposit = '2023-09-22';

-- 산술연산자배우기
SELECT Order_item, Order_quantity, Order_unitprice
FROM purchaseorder
Where Order_quantity*12 >= 6000;

-- 산술연산자배우기
SELECT Order_item, Order_quantity * 12 as 1년매출, Order_unitprice
FROM purchaseorder
Where Order_quantity*12 >= 6000;

-- 컬럼 + 컬럼 값을 출력
SELECT Order_item, Order_quantity, Order_unitprice, Order_quantity + Order_unitprice
FROM purchaseorder
Where Order_item = '돼지족';

-- 비교 연산자 배우기 (BETWEEN AND)
SELECT e_id, p_num, day
from Ep
WHERE day BETWEEN '2023-10-13' AND '2023-10-14';

-- 비교 연산자 배우기 (NOT BETWEEN AND)
-- ~에서 ~사이가 아닌 부분을 찾는 것.
SELECT e_id, p_num, day
from Ep
WHERE day NOT BETWEEN '2023-10-13' AND '2023-10-14';

날짜같은 형태는 BETWEEN AND로 ~에서 ~사이인 데이터를 확인해야 이게 날짜 형태인 지 구체적으로 알 수 있어서 활용하는 게 좋다.

BETWEEN AND 사용시 주의사항은 " BETWEEN 하한값 AND 상한값" 순서로 작성해야 검색이 된다.

 

 

-- 비교연산자 배우기(LIKE)
-- 이름의 첫글자가 '하'로 시작하는 분을 출력
SELECT Employee_name, Employee_age
FROM EmployeeRegistration
WHERE Employee_name LIKE '하%';

-- 비교연산자 배우기(LIKE)
-- 이름의 두번째 글자가 '영'인 분을 출력
SELECT Employee_name, Employee_age
FROM EmployeeRegistration
WHERE Employee_name LIKE '%영%';

 

-- 비교 연산자 배우기(in)
-- 아이템이 돼지족, 닭인 데이터를 출력
SELECT Order_date, Order_item
FROM purchaseorder
WHERE Order_item in('돼지족','닭');

-- 비교연산자 배우기  between AND + and in > 신한은행과 입금만.
select MGMT_Customerinformation as 은행, MGMT_Expecteddepositdate as 입금
FROM Collectionmanagement
WHERE MGMT_Expecteddepositdate between 6767558 AND 73445550  and MGMT_Customerinformation in ('신한은행');

 
-- 비교연산자 배우기 between AND + or in  > 입금과 신한은행 같이 
select MGMT_Customerinformation as 은행, MGMT_Expecteddepositdate as 입금
FROM Collectionmanagement
WHERE MGMT_Expecteddepositdate between 6767558 AND 73445550  or MGMT_Customerinformation in ('신한은행');

 

-- 날짜 사이에 판 닭의 매출을 보고싶다.
select Order_date as '날짜', Order_item as '아이템', Order_finalamount as '매출'
from purchaseorder
where Order_date between '2023-9-1' and '2023-9-5' and Order_item in ('닭');

-- 날짜 사이에 판 닭의 매출을 오름차순으로 보고싶다.
select Order_date as '날짜', Order_item as '아이템', Order_finalamount as '매출'
from purchaseorder
where Order_date between '2023-9-1' and '2023-9-5' and Order_item in ('닭')
ORDER BY 매출 asc;

-- 날짜 사이에 판 닭의 매출을 보고싶다 근데 또 매출이 19000이하인 것만 보고싶다.
select Order_date as '날짜', Order_item as '아이템', Order_finalamount as '매출'
from purchaseorder
where Order_date between '2023-9-1' and '2023-9-5' and Order_item in ('닭') and Order_finalamount <= 2000000
ORDER BY 매출 asc;