[SQL] 이 표에서 간단한 SQL 선택 (A 무엇을 가입한다?)
SQL이 표에서 간단한 SQL 선택 (A 무엇을 가입한다?)
나는 SQL에 새로운 해요. 나는 두 개의 서로 다른 테이블에서 결과를 얻는 간단한 문제가 있습니다.
나는 데이터베이스에 두 개의 테이블이있다. 첫 번째 테이블은 테이블의 행에 대응하는 ID 참조하면, 컬럼을 갖는다. 나는 ID가 두 번째 테이블의 모든 값에 의해 repalced되도록 결과를 얻기 위해 수행해야 할 무엇을 선택합니다. 내가 논의하고있는 테이블을 시각화합니다 :
TABLE_USERS
===========
id username group
-- -------- -----
1 jim A
2 alice A
3 brandon B
TABLE_GROUPS
============
id groupname members
-- --------- -------
A designer 134
B photographer 39
DESIRED_SELECTION
=================
id username group
-- -------- -----
1 jim designer
2 alice designer
3 brandon photographer
감사!
해결법
-
==============================
1.당신은, 사실, 두 테이블을 가입하고 싶어 :
당신은, 사실, 두 테이블을 가입하고 싶어 :
SELECT * FROM TABLE_USERS LEFT JOIN TABLE_GROUPS ON TABLE_USERS.group = TABLE_GROUPS.id
테이블을 조인의 비결은 두 테이블에서 일치해야하는 값을 찾아, 그들에 맞게 SQL을 알리려면을에 사용하는 것입니다. 이 테이블은 필요가 동일하게 그 값을 표시 한 후 당신이 당신이 테이블 ON 참여합니다 =하자, 그리고 할 수있는 ID 열이 있습니다.
당신은 두 테이블의 모든 열을하지 않으려면, 당신은 단순히 당신이 당신의 마지막 쿼리에 필요한 컬럼 만 나열 할 수 있습니다. 대신 선택 *, 당신은 당신이 원하는 열을 나열이 의미합니다. 아래와 같이 열이 두 테이블에 같은 이름으로 나타나는 경우, 당신은 SQL의 노하우가있는 값을 원하는 그래서, 테이블 이름을 씁니다.
SELECT TABLE_USERS.ID, Username, Groupname FROM TABLE_USERS LEFT JOIN TABLE_GROUPS ON TABLE_USERS.group = TABLE_GROUPS.id
-
==============================
2.당신은이 가입합니다 :
당신은이 가입합니다 :
SELECT u.id, username, groupname FROM TABLE_USERS AS u LEFT JOIN TABLE_GROUPS AS g ON u.group = g.id
from https://stackoverflow.com/questions/11040587/simple-sql-select-from-2-tables-what-is-a-join by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 2008 SQL 서버에서 XML 열을 읽습니까? (0) | 2020.06.18 |
---|---|
[SQL] 함수 (SQL 서버) 내에서 동적 SQL을 실행할 때 오류를 얻기? (0) | 2020.06.18 |
[SQL] 아포스트로피와 데이터베이스에 SQL 삽입 (0) | 2020.06.18 |
[SQL] WHERE 절에서 참조 별칭 (0) | 2020.06.18 |
[SQL] 오라클 피벗 연산자 (0) | 2020.06.18 |