SQL의 집계 함수 및 그룹화
5757 단어 SQL프로그래밍 공부 일기
프로그래밍 공부 일기
2020년 6월 16일 Progate Lv.111
SQLⅢ
하위 쿼리
질의 안에 다른 질의를 넣을 수 있다. 이 다른 쿼리를 하위 쿼리라고합니다. 두 개 이상의 쿼리 중 하나로 결합 할 수 있으므로 더 복잡한 데이터를 검색하는 데 사용됩니다. 서브 쿼리는 ()
(괄호)를 둘러싸는 것으로 만들 수 있다. () 안에 세미콜론이 필요하지 않습니다 (세미콜론은 쿼리의 끝에서만 좋음)
하위 쿼리를 사용하지 않는 방법-- 1.Makeの得点を取得する
SELECT goals FROM players WHERE name="Make";
-- 2.取得した結果を自分で入力する
SELECT name FROM players WHERE goals > 15;
하위 쿼리를 사용하는 방법-- 2.サブクエリが実行されたあとに外側にあるクエリが実行される
SELECT name
FROM players
-- 1.サブクエリでMakeの得点を取得している
WHERE goals > (
SELECT goals
FROM players
WHERE name="Make"
);
아 S
컬럼명 등에 다른 이름을 정의할 수 있다. カラム名 AS "名前"
에서 열 이름에 정의할 이름을 지정합니다.
실행 결과 표시의 goal 변경SELECT goals AS "Makeの得点" FROM players WHERE name="Make";
테이블을 끈다
테이블을 연결하려면 외래 키와 기본 키를 사용합니다. 외래 키로 다른 테이블에 있는 기본 키를 지정함으로써 테이블끼리를 묶을 수 있다.
메리트:데이터 관리가 쉽다
JOIN
복수의 테이블을 1개에 결합하고 싶을 때에 사용한다. ON
에서 조건을 지정하여 테이블 A에 테이블 B를 조인합니다. 결합한 테이블은 1개의 테이블로 데이터를 취득할 수 있다. 외래 키가 널인 레코드는 실행 결과에 표시되지 않습니다.
복수의 테이블을 JOIN하는 것도 가능하고, JOIN을 1개의 쿼리로 복수회 사용할 수 있다. 다만, 그 경우에서도 FROM은 한 번만 하면 된다.
JOIN 사용법SELECT *
FROM テーブルA
JOIN テーブルB
ON 結合条件(テーブル名.カラム名 = テーブル名.カラム名);
-- 2. 結合された後にSELECTの実行
SELECT *
-- 1. テーブルを結合する
FROM players
JOIN countries
--county_id:外部キー countries.id:主キー
ON players.country_id=countries.id;
여러 테이블에서 열 지정
복수의 테이블에 같은 컬럼명이 존재하는 경우는, テーブル名.カラム名
로 지정한다.
SELECT players.name, countries.name
FROM players
JOIN countries
ON players.country_id=countries.id
WHERE players.name="タクヤ";
LEFT JOIN
FROM으로 지정한 테이블의 코드를 모두 취득한다. 외래 키가 NULL인 코드도 NULL인 채 실행 결과에 표시된다.
SELECT *
FROM players
LEFT JOIN teams --もととなるテーブルのレコードを全て取得。
ON players.team_id=team.id;
전체 실행 순서
SQL은 취득하는 테이블을 형성하고 나서 검색을 하기 때문에, FROM이나 JOIN이 먼저 온다.
Reference
이 문제에 관하여(SQL의 집계 함수 및 그룹화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mzmz__02/items/980569df855af677bd5b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
-- 1.Makeの得点を取得する
SELECT goals FROM players WHERE name="Make";
-- 2.取得した結果を自分で入力する
SELECT name FROM players WHERE goals > 15;
-- 2.サブクエリが実行されたあとに外側にあるクエリが実行される
SELECT name
FROM players
-- 1.サブクエリでMakeの得点を取得している
WHERE goals > (
SELECT goals
FROM players
WHERE name="Make"
);
SELECT goals AS "Makeの得点" FROM players WHERE name="Make";
SELECT *
FROM テーブルA
JOIN テーブルB
ON 結合条件(テーブル名.カラム名 = テーブル名.カラム名);
-- 2. 結合された後にSELECTの実行
SELECT *
-- 1. テーブルを結合する
FROM players
JOIN countries
--county_id:外部キー countries.id:主キー
ON players.country_id=countries.id;
SELECT players.name, countries.name
FROM players
JOIN countries
ON players.country_id=countries.id
WHERE players.name="タクヤ";
SELECT *
FROM players
LEFT JOIN teams --もととなるテーブルのレコードを全て取得。
ON players.team_id=team.id;
Reference
이 문제에 관하여(SQL의 집계 함수 및 그룹화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mzmz__02/items/980569df855af677bd5b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)