걷기 시작한 Coding Novice

전체 글 40

본격 쿼리 직접 작성해보기 2 (feat. inner join)

1) 웹개발, 앱개발 종합반의 week 별 체크인 수를 세어보기 활용할 테이블을 먼저 찾아보자. select * from courses c select * from checkins ch 이 두 테이블이면 되겠다. courses에 checkins 테이블을 붙이고, key는 course_id가 되면 좋겠다. select * from courses c inner join checkins ch on c.course_id = ch.course_id group by로 웹개발, 앱개발을 묶어 줘야겠다. select * from courses c inner join checkins ch on c.course_id = ch.course_id group by c.title 더 나아가서, week별로 묶어주는 것도 필요할 ..

SQL 2022.05.31

서버(server) - 클라이언트(client) 통신 이해하기

Javascript로 페이지 전환 없이 서버에서 값을 받아올 수 있는 방법은 무엇일까? 그전에 API에 대해서 일단 무엇인지 알아야 한다. Json이 뭔지도 알아야하고. API? 클라이언트는 서버에게 여러 요청을 보낸다. 그럼 서버는 요청에 따라 적합한 처리를 해서 응답을 준다. 하지만 컴퓨터는 한글을 모르기에 어떤 요청이 '사진 올려줘'의 요청인지, '로그인 시켜줘'의 요청인지 알 수 없다. 요청을 구분할 수 있도록 하는 체계가 바로 API이다. 클라이언트, 서버와 같은 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있게 만든 체계인 것이다. Json? 그러면 이런 요청과 응답을 할 때는 데이터가 담길 수 있기에 데이터를 넣을 수 있는 '기능'또한 함께 개발해야 한다. 그런데 데이터를 넣을 수 있..

Javascript 2022.05.27

jQuery 연습하기

예제 코드를 활용해서 직접 Javascript와 jQuery를 함께 사용해보면서 실습할꺼다. 실습할 코드와 해당 화면은 더보기를 누르면 나온다. 더보기 jQuery + Javascript의 조합을 연습하자! 1. 빈칸 체크 함수 만들기 1-1. 버튼을 눌렀을 때 입력한 글자로 얼럿 띄우기 [완성본]1-2. 버튼을 눌렀을 때 칸에 아무것도 없으면 "입력하세요!" 얼럿 띄우기 클릭 2. 이메일 판별 함수 만들기 2-1. 버튼을 눌렀을 때 입력받은 이메일로 얼럿 띄우기 2-2. 이메일이 아니면(@가 없으면) '이메일이 아닙니다'라는 얼럿 띄우기 [완성본]2-3. 이메일 도메인만 얼럿 띄우기 클릭 3. HTML 붙이기/지우기 연습 3-1. 이름을 입력하면 아래 나오게 하기 [완성본]3-2. 다지우기 버튼을 만들..

Javascript/JQuery 2022.05.26

본격 쿼리 직접 작성해보기 (feat. inner join)

오늘도 예제를 가지고 쿼리를 직접 작성하고 그 과정을 적어내려 갈 것이다. 결제 수단 별 유저 포인트의 평균값 구해보기 결제 수단과 포인트관련 테이블을 먼저 살펴봐야겠다. select * from orders o select * from point_users pu pint_users 테이블을 주체 테이블로 사용할 것 이다. 연결하기 위한 key필드는 user_id가 되겠다. select * from point_users pu inner join orders o on pu.user_id = o.user_id 이제 결제 수단별로 이제 묶어주자. select * from point_users pu inner join orders o on pu.user_id = o.user_id group by o.paymen..

SQL 2022.05.24

Join 연습해보기 2 (feat. Inner Join)

이제까지 배웠던 문법들과 함께 Join을 더 연습해보자. 1. checkins 테이블에 courses 테이블 연결해서 통계치 내보기 '오늘의 다짐' 정보에 과목 정보를 연결해 과목별 '오늘의 다짐' 개수 세기 두개의 테이블을 역시나 확인해 봐야겠지? select * from checkins ch select * from courses c course_id를 공유하고 있다. 이를 key로 연결시켜주자. select * from checkins ch inner join courses c on ch.course_id = c.course_id 과목별 '오늘의 다짐'의 개수를 세줘야 하니까, 일단 과목별로 묶어볼까? select * from checkins ch inner join courses c on ch.c..

SQL 2022.05.23

Join 연습해보기 (feat. Inner Join)

orders 테이블에 users 테이블 연결해보기 직접 해보기에 앞서 두 테이블을 확인 할 필요가 있다. 어떤 테이블에 어떤 내용들이 있는지 항상 확인하는 습관을 길러야 하니까 select * from orders o select * from users u 두개의 테이블에 user_id가 함께 필드로 있는 걸 알 수 있다. 그럼 user_id를 key로 활용하여 연결시키면 되겠다. select * from orders o inner join users u on o.user_id = u.user_id user_id를 기점으로 왼쪽은 orders 테이블이고, 오른쪽은 users 테이블의 내용임을 알 수 있다. users_id를 key로 두 테이블을 붙인 것이다. 일단 왜 inner join으로 했는가? in..

SQL 2022.05.23

Join (Left Join / Inner Join)

Join이란? 두 테이블의 공통된 정보(key값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을 의미한다. 예를 들어 user_id 필드를 기준으로 users 테이블과 orders 테이블을 연결해서 한 눈에 보고 싶어! 같은 거다. 그럴 때를 대비해서 무언가 연결된 정보가 있을 때, user_id처럼 동일한 이름과 정보가 담긴 필드를 두 테이블에 똑같이 담아 놓는다. 이런 필드를 두 테이블을 연결시켜주는 열쇠라는 의미로 'key'라고 부른다는 걸 잊지 말자! Left Join 왼쪽에 있는 테이블을 기준으로 테이블을 붙인다는 의미이다. 여기서 A와 B는 각각의 테이블을 의미하고, 둘 사이의 겹치는 부분은 테이블 A와 B의 key 값이 연결되는 부분이다. Inner Join 여기서도 A와 B는 각각의..

SQL 2022.05.22

Join을 왜 배우고 왜 써야하는가?

Join이라는 문법은 테이블과 테이블을 붙이는 거다. 거의 모든 쿼리에 join이 들어가고 실무에서 항상 사용한다고 생각해도 된다. 만약, 가지고 있는 데이터 중 '오늘의 다짐'을 남긴 회원의 이름을 알아야 한다. 이유는 '오늘의 다짐' 이벤트 당첨자를 선정하여 특정 상품을 기프티콘으로 지급해야 하는 상황이다. 그렇다면 일단 '오늘의 다짐'테이블을 불러와서 살펴보자. select * from checkins c 해당 테이블에서는 users_id만 존재하고 name이 존재하지 않는다. 하지만 이름도 알아야 하는걸?.. 어쩌지? 반대로 users 테이블에서는? select * from users u 해당 유저 id별로 name과 email이 포함되어 있다. 하지만 여기에는 '오늘의 다짐'의 자료가 없다. 결..

SQL 2022.05.22

별칭을 사용하여 group by, order by, where 연습해보기

네이버 이메일을 사용하여 앱개발 종합반을 신청한 주문의 결제수단별 주문건수 세어보기 실습으로 위의 내용을 도출하기 위해 작성해보기 연습을 해보자. 우선 어느 테이블이 해당 내용의 데이터를 뽑아내는데 적절한지 살펴보자. select * from orders orders테이블이 적당한 것 같다. 추가로 앱개발 종합반을 신청한 부분만 필요하니, where문구로 선택해주자. select * from orders o where o.course_title = '앱개발 종합반' 이후 결제수단별로 묶어 주는게 좋겠지? select * from orders o where o.course_title = '앱개발 종합반' group by payment_method 이제 naver를 사용하는 email 것들로만 추려보자. 아..

SQL 2022.05.22

SQL 별칭 기능 (Alias)

쿼리가 점점 길어지면 헷갈리는 일이 자주 발생한다. 그래서 SQL은 Alias라는 별칭 기능을 지원한다. select * from orders where course_title = '앱개발 종합반' orders 테이블에서 '앱개발 종합반'만 보고 싶어서 where절을 이용하여 확인해보았다. 여기서 쿼리가 길어지게 되면 이 course_title이 어느 테이블의 필드인거지? 라는 의문과 동시에 헷갈릴 수 있다. 그럴 경우 다음과 같이 별칭을 정해줄 수 있다. select * from orders o where o.course_title = '앱개발 종합반' from orders 옆에 띄워쓰기 후 o라는 별칭을 입력했다. "그러면 앞으로 orders를 o라고도 부르겠다" 라는 말이 된다. 그리고 아래 whe..

SQL 2022.05.22