728x90
반응형

2023/11 35

[MySQL] 여러 테이블 합쳐서 SELECT하기 - JOIN ~ ON ~

데이터베이스에서 게시글 정보를 꺼낼 때 '게시글'이라는 한 테이블이 게시글에 대한 모든 정보를 갖고있지 않는다. 예를 들면 우리가 한 게시글을 보면 게시글의 제목, 내용 뿐만 아니라 게시글을 쓴 사람, 게시글의 첨부파일, 게시글에 대한 좋아요수 등 완전 직접적이진 않은(?) 정보 또한 보여주고 있다. 이 게시글의 모든 정보를 데이터베이스에서 꺼낼 때 [게시글] 테이블엔 게시글의 '제목', '내용' 을 갖고있고 [유저] 테이블에 게시글을 쓴 '사람 정보' [게시글 좋아요] 테이블에 게시글과 좋아요 한 사람의 매칭되는 정보가 들어있다. 그리고 클라이언트가 게시글 정보 조회를 요청하면 서버는 이 세 테이블의 내용을 합쳐서 응답 데이터로 보내줘야 한다. 여기서 두가지 방법이 있다 1) 데이터베이스에서 세 테이블..

IT/SQLD 2023.11.01

MySQL의 여러 테이블에서 선택하는 방법

GROUP BY food를 사용하여 여러 테이블에서 선택 JOIN을 사용하여 MySQL의 여러 테이블에서 선택 GROUP_CONCAT()를 사용하고 MySQL에서 결과를 조작합니다 이 가이드에서는 MySQL을 사용하여 단일 스크립트의 여러 테이블에서SELECT를 쿼리하는 방법을 보여줍니다. Powered By Play Unmute Loaded: 1.17% Fullscreen 하나의 시나리오를 시연 해 보겠습니다. SELECT name, price, details, type, FROM food, food_order WHERE breakfast.id = 'breakfast_id' 이제 각FROM 항목에 대한 샘플 테이블을 상상해 보겠습니다. food food_idnamepriceoptions 1 Eggs 1..

IT/SQLD 2023.11.01

3개 이상의 테이블 LEFT JOIN 하기

우리는 SQL에서 2개의 테이블을 합칠 수 있다는 사실을 압니다. 바로 JOIN 이라는 개념을 사용해서요. 그렇다면, 세 개 혹은 그것보다 많은 테이블을 LEFT JOIN 할 수 있을까요? 네, 할 수 있습니다. 이 글은 여러 개의 테이블을 LEFT JOIN 하는 법에 관해 살펴볼 것입니다. 또한, 그 과정에서 우리가 우연히 놓칠 수 있는 개념에 대해서도 함께 다뤄보도록 하겠습니다. LEFT JOIN이란? LEFT JOIN이 무엇이었는지 되짚어보는 것부터 시작해보죠. 혹시 SQL의 조인 중에서 INNER JOIN을 기억하시나요? INNER JOIN은 조인하는 두 테이블에 공통으로 존재하는 값만 반환합니다. 반면에 LEFT JOIN의 경우, 왼쪽 테이블에서는 모든 값을 오른쪽 테이블에서는 왼쪽 테이블과 일..

IT/SQLD 2023.11.01

[MySQL] Join (Outer Join, Inner Join) 설명 및 예제

GoalPermalink Join에 대해 이해하고 이를 활용할 수 있다. Left Join, Right Join 차이점을 이해한다. 한 눈에 보는 전체 사진Permalink 1. LEFT JOIN (= LEFT OUTER JOIN)Permalink LEFT OUTER JOIN 이라고도 쓰이고, LEFT JOIN 으로 쓰는 개발자도 있길래 구글링해보니 둘다 똑같은 말이라고 한다. LEFT JOIN은 A와 B 테이블 중에 A값 + A와 B의 KEY값이 같은 결과 를 리턴하는 것이다. SELECT * FROM TableA A LEFT JOIN TableB B ON A.key = B.key; 2. RIGHT JOIN (= RIGHT OUTER JOIN)Permalink RIGHT JOIN은 A와 B 테이블 중에..

IT/SQLD 2023.11.01

[MySQL || MariaDB] 여러 테이블 한번에 카운터 하기

개념 한 번에 여러 테이블의 값을 추출할 수 있다. 문법 문법에 들어가기 앞서, 공통 테이블 예시 기본 문법 SELECT 테이블별칭.카운트별칭,테이블별칭.카운트별칭,테이블별칭.카운트별칭 FROM ( select count(*) 카운트별칭 from 테이블명 조건(선택) ) 테이블별칭 , ( select count(*) 카운트별칭 from 테이블명) 테이블별칭 , ( select count(*) 카운트별칭 from 테이블명) 테이블별칭 예시 1.board 테이블 중 views(조회수)가 30 이상인 것, members 테이블 중 id가 1인 멤버를 카운트 SELECT a.views, b.beu FROM (SELECT COUNT(*) views FROM board WHERE views > 30) a , (SE..

IT/SQLD 2023.11.01
728x90
반응형