서버/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;