이 간단한 튜토리얼을 통해 SQL JOIN을 알게 되었습니다. 저처럼 실패하지 마세요.

본고는 최초로 다음과 같이 발표되었다. https://www.blog.duomly.com/sql-join-with-examples-tutorial/

소개


나는 내가 SQL에 대해 더 깊은 이해를 필요로 할 때, 불행하게도 당시에 나는 아직 없었다.
그것은 몇 년 전, 내가 멋진 배역을 얻고 싶을 때, 좋은 회사와 멋진 월급을 받고 싶을 때, 이것은 간단한 전단 엔지니어의 배역이지만, SQL 지식과 같다.
나는 간단한 조회를 하는 것과 같은 간단한 단계에서 사용하기에 충분한 SQL 지식을 가지고 있다.
이번 기술 채용자는 나에게 SQL 연결에 관한 문제를 물었다. 더 정확히 말하면 내부 연결, 완전 연결, 왼쪽 연결과 오른쪽 연결 사이의 차이에 관한 것이다.나는 이 간단한 문제가 나로 하여금 임금 협상에서 더욱 나쁜 상황에 빠지게 한 것을 몰랐다.
나는 내가 할 수 있는 대로 그것을 이해하기로 결정했다. 오늘 나는 너에게 기초 지식을 주어 네가 나보다 더 좋은 직위를 얻는 것을 도울 것이다.
만약 당신이 동영상을 좋아한다면, 이것은 유튜브 버전입니다.

SQL 연결


SQL 연결은 두 개의 서로 다른 SQL 테이블에서 나온 요소(데이터)를 연결하는 구조적인 조회 언어 방법이다.
예를 들어 인터넷에서 신발을 판다고 가정하면 고객의 발에 맞는 모든 제품을 보여주고 싶다.
온라인 상점에는 두 개의 표가 있는데 첫 번째는'Users'표입니다.'id','name','이메일','size'열을 포함합니다.
SQL 편집기에서 다음을 입력하여 작성할 수 있습니다.
CREATE TABLE Users (
  userId int,
  name varchar(255),
  email varchar(255), 
  footSize int
);
다음은 테이블에 값을 추가합니다.
INSERT INTO Users
VALUES 
  (1, 'Radek', '[email protected]', 12),
  (2, 'Mark', '[email protected]', 9),
  (3, 'Bruce', '[email protected]', 13);
결과:

두 번째는'Shoes'라는 표입니다. 여기에는'productId','모델','brand','size'열이 포함되어 있습니다.
SQL 편집기에 이 코드를 입력하여 생성합니다.
CREATE TABLE Shoes (
  shoeId int,
  model varchar(255),
  brand varchar(255), 
  shoeSize int
);
다음은 제품을 추가하는 방법입니다.
INSERT INTO Shoes
VALUES 
  (1, 'Shoe model 1', 'Shoe brand', 12),
  (2, 'Shoe model 2', 'Shoe brand', 9),
  (3, 'Shoe model 3', 'Shoe brand', 12),
  (4, 'Shoe model 4', 'Shoe brand', 8);

이제 우리는 사용자의 발에 맞는 신발을 보고 싶다.
이를 위해 다음과 같은 연결 방법을 사용할 수 있습니다.
SELECT shoeId, model, brand, shoeSize FROM Users user
JOIN Shoes shoe ON user.footSize=shoe.shoeSize
where user.name = 'Radek'
결과:

SQL 연결 구문


기본적으로 SQL 연결 구문은 다음과 같습니다.
SELECT columns 
FROM firstTable JOIN secondTable
ON columnFromFirstTable = columnFromSecondTable
WHERE condition
물론 모든 상황에서 다를 수 있지만, 메인 템플릿은 비슷해 보이며, 이를 바탕으로 자신의 검색을 구축할 수 있습니다.

SQL 연결 유형


우리는 네 가지 주요 SQL 연결 방법이 있습니다.

내부 연결


첫 번째는 내부 연결 방법입니다. 첫 번째와 두 번째 표에서 조건에 맞는 줄을 선택합니다.

왼쪽 연결


두 번째는 왼쪽 연결 방법입니다. 이 방법은 첫 번째 표에서 모든 줄을 선택하고 두 번째 표의 조건을 사용하여 줄을 맞춥니다.

오른쪽 연결


세 번째 방법은 오른쪽 연결 방법이다. 이 방법은 두 번째 표에서 모든 줄을 선택하고 조건이 맞는 줄은 첫 번째 표에서 나온다.

완전 연결


마지막으로 두 번째 테이블과 첫 번째 테이블에서 조건이 적합하든 상관없이 모든 줄을 선택하는 전체 연결 방법입니다.

내부 연결 예


이런 상황에서 우리는 단지 우리 사용자의'라데크'에 적합한 신발을 전시하고 싶을 뿐이다.
SELECT shoeId, model, brand, shoeSize FROM Users user
INNER JOIN Shoes shoe ON user.footSize=shoe.shoeSize
where user.name = 'Radek'
결과:

보시다시피 DB는 shoeSize가 사용자 footSize 필드와 같은 항목만 되돌려줍니다.

왼쪽 연결 예


우리는 두 개의 시계를 연결하고 모든 사용자를 표시할 수 있으며, 만약 어떤 신발이 그에게나 없다면, 조건을 통과할 필요가 없다.
SELECT userId, shoeId, model, brand, shoeSize FROM Users user
LEFT JOIN Shoes shoe ON user.footSize=shoe.shoeSize
결과:

이 예에서 DB는 그 값을 우리 모든 사용자에게 되돌려주지만, 신발의 값은 이 고객 제품이 아닌 줄에서null입니다.

오른쪽 연결 예


현재, 우리는 모든 신발을 표시할 수 있습니다. 만약 사용자가 우리의 신발을 신을 수 없다면, "userId"부분은 비어 있습니다.
SELECT userId, shoeId, model, brand, shoeSize FROM users
RIGHT JOIN shoes ON users.footSize=shoes.shoeSize
결과:

여기서 우리는 DB가 신발이 있는 모든 줄을 되돌려 주었지만 사용자 중의 빈 열은 신발의 정확한 고객이 아니라는 것을 알 수 있다.

전체 연결 예


여기서, 우리는 두 개의 표를 연결하고, 모든 기록을 표시할 것이며, 어떠한 조건도 전달하지 않을 것이다.
SELECT userId, shoeId, model, brand, shoeSize FROM users
FULL JOIN shoes ON users.footSize=shoes.shoeSize
결과:

여기서 우리는 신발이 잠재적인 소유자가 있든 사용자가 신발을 구매할 가능성이 있든 없든 모든 것을 볼 수 있다.

결론


나는 이미 당신들에게 SQL 연결 방법에 관한 작은 기초 지식을 설명했는데, 그것들은 당신들이 SQL을 사용하는 것을 도울 수 있습니다.
이제 SQL 연결의 작동 원리, SQL 연결 유형 간의 차이, 그리고 각 유형이 언제 적용되는지 알 수 있습니다.
나는 네가 필요할 때 그들을 알아보기를 바란다. 이것은 네가 그 중에서 이익을 얻는 데 도움이 될 것이다.

읽어주셔서 감사합니다.
Duomly의 Radek-온라인 프로그래밍 과정

좋은 웹페이지 즐겨찾기