✔ SQL 입문 강의 3주차 수강
3주차 강의에 대한 내용을 요약하자면 다음과 같다.
- 새로운 문법
- 조건문
- 지금껏 배운 문법과 조건문의 활용
조건문을 포함해 3강에서 배운 문법은 다음과 같다.
- REPACE
문자열의 일부분을 대체한다.
- SUBSTR
문자열의 일부분만을 조회한다.
- CONCAT
여러 컬럼의 데이터를 한 컬럼 내에 합칠 수 있다.위 세가지의 문법의 사용 예시는 다음과 같다.
select Concat(_name,'(',Substr(_address,1,2),')') from users // 이름과 주소를 각각 가져와 한 컬럼으로 합치고 주소의 앞 두 글자만 추출한다. -> 강세민(광주) select Repace(address,'제주도','제주특별자치도') // '제주도'를 '제주특별자치도'로 대체조건문은 다음과 같다.
IF
조건을 제시해 참,거짓에 따라 다른 값을 리턴한다.
C#이나 다른 언어의 3항 연산자와 흡사하다.CASE
여러 조건을 제시해 각각의 결과에 따른 값을 리턴한다.
다른 IF문과 흡사하다.위 문법을 모두 습득하고 적재적소로 사용하는 것이 강의의 목표였으며 강의의 마지막으로 숙제가 있었다.
내가 제출한 답은 다음과 같다.select restaurant_name, day_of_the_week, delivery_time, if(day_of_the_week='Weekday', if(delivery_time>=25,'지연됨','정상'), if(delivery_time>=30,'지연됨','정상') ) '배달지연' from food_orders
✔ mySQL 사용법 숙지
다음 문제부터는 mySQL을 사용하기로 결심했기 때문에 사용법을 숙지해 놓을 필요가 있었다.
앞으로 계속 쓸 예정이기도 하고, 테이블을 일시적으로 만들고 지우고 할 생각으로 sparta라는 schema를 만들었다.
이제 어제는 하지 못했던 테이블 추가나 수정과 같은 작업도 연습 할 수 있게 되었다.
원래는 강의에서 제공된 데이터베이스도 Dbeaver에서 가져올 예정이었는데, 시도는 조금 해봤으나 한 번에 하는 법을 모르겠고, 여기에 시간을 너무 쓰면 안될 것 같아서 다음에 알아보기로 했다.
이제부터 문제는 여기에 풀 생각이다.
✔ SQL 문법 연습 문제 2번
어제에 이어 문제 2번을 풀어보기로 했다.
일단 mySQL에 테이블부터 추가 해 보도록 하자.
이렇게 테이블을 생성하고 바로 데이터를 삽입해 주면,
엥
이유는 모르겠으나 아마 코드별로 따로 실행해야 하나 보다.
아무튼 삽입을 마쳤으니 한 번 확인을 해 보면,
정상적으로 문제와 같이 데이터가 들어가 있는 모습이다.
이제 문제를 하나씩 풀어보도록 하자.
products테이블에서 제품 이름(product_name)과 가격(price)만을 선택하는 쿼리를 작성해주세요.products테이블에서 제품 이름에 '프로'가 포함된 모든 제품을 선택하는 쿼리를 작성해주세요.products테이블에서 제품 이름이 '갤'로 시작하는 모든 제품을 선택하는 쿼리를 작성해주세요.products테이블에서 모든 제품을 구매하기 위해 필요한 돈을 계산하는 쿼리를 작성해주세요.이 문제는 어제도 풀 수 있었던 수준의 문제로 보인다.
간단한 문제이니 빠르게 풀어보면select product_name, price from products select * from products where product_name like '%프로%' select * from products where product_name like '갤%' select sum(price) from products이제 mySQL을 통해 확인해보자
모두 문제에 해당하는 결과를 나타내고 있다.
사전캠프를 시작하게 된 지 3일차인데 벌써 조를 바꾸게 돼서 정신없기도 하고, 조를 바꾸는데 시간이 조금 걸려서 생각보다 진도를 내지 못했다. 내일부터는 1강의 1문제보다는, 문제를 풀 수 있는 데까지 풀고 막히면 그 때 강의를 수강하는 식으로 해 볼 예정이다.