SQL 강의 정리(8)
-
SQL 문법 정리
2023-02-23 (목) 15:08 배웠던 SELECT 문 문법을 정리하는 시간을 가져보겠습니다 첫 번째! -SHOW, SELECT, FROM- DB에 저장된 테이블을 살펴봅시다 스파르타DB에는 TABLE을 TABLES라는 곳에 보관합니다 어떤 테이블이 있는지 보기 위해서는 SHOW를 사용합니다 SHOW TABLES 컨트롤+엔터로 출력해 보겠습니다 정보를 꺼내와 볼까요? SELECT (필드명) FROM (테이블명) 형태로 정보를 꺼내올 수 있습니다 users 테이블을 출력해 보겠습니다 SELECT * FROM users 필드명 자리에 *은 전체를 의미합니다 즉 users 테이블에 저장된 필드와 그 값 모두를 선택하여 출력한다는 것을 의미합니다 그러면 users 테이블에서 user_id, name, em..
2023.02.23 -
subquery (from절, with, when)
2023-02-22 (수) 15:16 서브쿼리 from절부터 이어서 시작해봅시다 from절에 사용되는 서브쿼리는 이미 select되어 출력된 결과에 기존의 테이블을 join시켜 결과물에 필요한 것을 추가할 때 주로 사용됩니다 마찬가지로 예시와 함께 보겠습니다 chechins 테이블을 먼저 살펴보겠습니다 먼저 checkins 테이블에서 user_id와 likes의 평균을 구하여 출력해보겠습니다 likes의 평균값은 소수점 첫째자리까지 표현하고 avg_likes라고 별칭을 부여합니다 select c.user_id, round(avg(c.likses),1)as avg_likes from checkins c group by c.user_id 잘 출력되었습니다 스파르타에서는 강의를 듣고 숙제나 계발일지를 작성하면..
2023.02.22 -
subquery(1)(where절, select절)
2023-02-21(화) 16:41 주말에 끝내온다 했지만 사정이 있었네요 subquery 서브쿼리는 다양하게 사용할 수 있습니다 where절에 들어가서 하나의 조건으로 사용할 수 있고, select절에 들어가서 출력 데이터에 새로운 데이터를 추가할 수도 있고, from절에 들어가서 서브쿼리로 만든 테이블과 기존 테이블을 조인시켜 원하는 형태로 데이터를 출력할 수 있습니다! 자! 그럼 where절에 들어가는 서브쿼리부터 보겠습니다! select * from 테이블명 where 필드명 in (서브쿼리) 가장 기본적인 형태입니다 어떻게 사용할까요? select * from users u where u.user_id in (select o.user_id from orders o where o.payment_m..
2023.02.21 -
3주차 left join
2023-02-17(금) 16:35 어제 강의로 left join과 서브쿼리, with 사용 방법을 배웠습니다. left join은 큰 문제가 없었지만 서브쿼리로 넘어오니 머리가 핑핑 도네요 상황에 따라 where, select, from 구분하여 서브쿼리를 적용시켜야 하는데 뭐가 뭔지 모르겠고 뭘 모르는지 모르고 그냥 다 모르겠다! 총체적 난국을 맞이하여 오늘 강의를 통해 퀴즈와 함께 어찌어찌 이해 비슷하게 하고 왔습니다 일단 3주차 수업 마지막을 장식할 left join부터 시작해 보겠습니다 left join은 main이 되는 테이블을 기준으로 join시킵니다 그렇기에 B에 해당하는 테이블에서 A에 관한 컬럼이 없다면 그 부분은 null 값을 가지게 됩니다 ex) 회원정보 테이블과 회원 포인트 테이블..
2023.02.17 -
SQL 2주차+ 3주차 Alias, Join(left, inner)
2023-02-16 목요일 14:56 어제 써놓고 올린 줄 알았는데 발행 안하고 꺼버렸는지 글이 안 올라가 있네요 기록이 중요하니 다시 적어 봅시다! 2주차 마지막 부분에는 퀴즈와 Alias에 대하여 간단히 알아보았습니다 Alias는 별칭 기능입니다 user 테이블에 u라는 별칭을 적용하기 위해서는 SELETE * FROM user u 한 칸 띄우고 별칭으로 사용할 것을 적어 줍니다 이제 저 쿼리문에서 u는 user 테이블을 의미합니다 사용하는 이유는 첫 째로 다음에 배울 join에서 테이블 명을 착각하는 것을 막기 위해서고 둘 째로는 편의성 때문입니다. 도출하는 결과의 필드 명도 Alias를 이용하여 변경이 가능합니다 SELECT payment_method, COUNT(*) AS cnt FROM ord..
2023.02.16 -
SQL GROUP BY, ORDER BY
2023-02-14(화) 16:27 두 번째 시간입니다, 하루에 볼 수 있는 강의의 MAX가 8강 입니다 놀랍게도 두 번째 시간만에 2주차에 들어갔습니다! 오늘은 이전 시간 복습과 GROUP BY, ORDER BY를 맛 보았습니다 간단 복습(DB의 형태를 머리속으로 그리며) -성이 남 씨인 회원의 이메일 주소를 추출하기(단, 회원 이름은 성만 표기 정**) SELETE 이메일 FROM 회원정보 WHERE 회원이름 ='남**' -이메일 주소가 Gmail인 2020-07-12~13에 가입한 회원정보 추출하기 SELETE * FROM 회원정보 WHERE 이메일 LIKE '%Gmail%' AND 가입일 BETWEEN '2020-07-12' AND '2020-07-14' *오늘 이 부분에서 많은 시간을 사용했습니..
2023.02.14