안녕하세요. 그동안 배운것들을 정리하느라
글을 못썻네요. 한번에 몰아서 기초를 쌓으려해서그런지
뒤돌아서 하려니까 햇갈리는것들이 아주많았습니다.
오늘도 SQL을 해볼건데요~
우선 여러연산을 한번에하는 subquery를 배워봣습니다.
지금보면 select from 문이 2개드간걸볼수있습니다.
일단 아래괄호안에것은 오더 아이디, 레스토랑이름, 음식제작에서 25분을 뺏다는 시간이고 이것을 오버타임으로 지정해논것입니다. 그리고 그위에 select from 문은 오더아이디,레스토랑이름, if문 오버타임이 0보다 큰경우엔,오버타임으로 출력 해주고, 아닌것은 0이라해달라고 하는문입니다.
그래서 위에 그림을보면 0이하인것들은 0,음식제작이 25분이넘은것들은 시간에-25를해서 3,8,4등등 써있는걸 보실수있습니다.
이걸보시면 subquery가 2개있는게보이시는데요. 이걸보니 처음에 웹개발 배울때 코드쓰던게 생각나더라고요
괄호안에 괄호가보이실텐데요. 우선 저기 괄호안에 괄호먼저 해석을하고
그다음그위에 괄호를해석을하는것인데
그위에 괄호밖에있는문장은 이괄호안에서 정해준 price_per_plate 와 rario_of_add를곱해줘서 수수료를 만들어준걸 볼수있습니다.
그리고 join 문을 배워봣는데요.
join의 기능은 내가쓰고있는테이블에 필요한 다른테이블에있는 정보를 가져다가 쓰는방법이라고 하네요.
이렇게해서 둘이 공통으로 가지고있는컬럼인 order_id로 food_orders와 pay_ments가 합쳐진걸볼수있는것이죠.
하지만 left join은 이렇게 왼쪽인 food_orders에있는 전체데이터에 payments를 붙여주는것인데 payments에 이데이터가없음 위와같이 아무것도 없이 뜨는것이죠 그래서 둘다 공통된 값을 가지고있는것만 뽑고싶을땐
inner join을사용한다고합니다
보시는거처럼 둘다있는데이터만 뽑아오는걸 볼수있습니다.
위와같이 food_orders를 a로, customers 를 b로 해서 간편하게해줘서 찾을수도있습니다.
그리고 select에 a에있는 내가원하는 컬럼 b에있는 내가원하는 컬럼만 찾아서 짧게 볼수도있습니다.
오늘도 봐주셔서 감사합니다~
'개발자가 되기위한 발걸음' 카테고리의 다른 글
웹개발 완전초보의 11일차 (0) | 2024.12.23 |
---|---|
웹개발 완전초보의 10일차 (2) | 2024.12.20 |
웹개발 완전초보의 8일차 (1) | 2024.12.13 |
웹개발 완전초보의 7일차 (0) | 2024.12.12 |
웹개발 완전초보의 6일차 (2) | 2024.12.10 |