기술나눔

SQL 기본 - DQL 요약

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


학습 목표:

  • 1. DQL(Data Query Language)의 기본 개념과 기능을 이해한다.

  • 2. SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY 및 기타 절의 사용을 포함하여 SQL 쿼리의 기본 문법 구조를 마스터합니다.

  • 3. 논리 연산자(AND, OR, NOT) 및 비교 연산자(=, <>, >, <, >=, <=) 사용을 포함하여 조건부 필터링을 위한 WHERE 절을 이해하고 사용할 수 있습니다.

  • 4. GROUP BY 절을 사용하여 쿼리 결과를 그룹화하고, 데이터 통계 분석을 위해 집계 함수(예: COUNT, SUM, AVG, MAX, MIN)를 사용할 수 있습니다.

  • 5. HAVING 절을 사용하여 그룹화된 결과를 조건부로 필터링하는 방법을 알아보세요.

  • 6. ORDER BY 절을 사용하여 단일 열 정렬, 다중 열 정렬 등 쿼리 결과를 정렬하는 방법을 이해하고 사용할 수 있으며, ASC 및 DESC 키워드를 사용하여 정렬 방향을 지정할 수 있습니다.

  • 7. SELECT, FROM 및 WHERE 절의 중첩 하위 쿼리를 포함하여 하위 쿼리 사용을 마스터하세요.

  • 8. 쿼리 결과에서 중복 레코드를 제거하기 위해 DISTINCT 키워드를 이해하고 사용할 수 있습니다.

  • 9. LIMIT 절을 사용하여 쿼리 결과 수를 제한하는 방법을 알아보세요.


학습 내용:

DQL(데이터 쿼리 언어)은 특히 데이터베이스에서 데이터를 검색하는 데 사용되는 SQL(구조적 쿼리 언어)의 중요한 부분입니다. 이를 통해 사용자는 데이터 자체를 수정하지 않고 쿼리 문을 작성하여 데이터베이스에서 정보를 요청할 수 있습니다. DQL의 핵심은 데이터베이스 쿼리에서 가장 일반적으로 사용되는 명령 중 하나인 SELECT 문입니다.

  • 선택하다

SELECT 절은 데이터베이스에서 검색할 열을 지정하는 데 사용됩니다. 단일 열 이름, 여러 열 이름일 수 있으며 별표(*)를 사용하여 모든 열을 선택할 수 있습니다.

SELECT column1, column2, ...
FROM table_name;
  • 1
  • 2
  • 에서

FROM 절은 데이터를 검색할 테이블을 지정하는 데 사용됩니다.

SELECT column1, column2, ...
FROM table_name;
  • 1
  • 2
  • 어디

WHERE 이 절은 결과 집합을 필터링하고 지정된 조건을 충족하는 레코드만 반환하는 데 사용됩니다.

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • 1
  • 2
  • 3
  • 그룹별로

GROUP BY 절은 결과 집합의 데이터를 그룹화하는 데 사용되며 일반적으로 COUNT(), SUM(), AVG(), MAX(), MIN() 등과 같은 집계 함수와 함께 사용됩니다.

SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1;
  • 1
  • 2
  • 3
  • 가지고 있다

HAVING 절은 다음 용도로 사용됩니다.GROUP BY절에서 반환된 결과 집합은 다음과 유사하게 조건부로 필터링됩니다.WHERE조항이지만,HAVING집계 함수를 사용할 수 있습니다.

SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1
HAVING COUNT(column2) > 10;
  • 1
  • 2
  • 3
  • 4
  • 주문

ORDER BY 절을 사용하여 결과 집합을 정렬하면 하나 이상의 열을 지정할 수 있으며 정렬 방향(오름차순 ASC 또는 내림차순 DESC)을 지정할 수 있습니다.

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 ASC, column2 DESC;
  • 1
  • 2
  • 3
  • 운영자

SQL에서는WHERE 절은 데이터베이스 테이블에서 데이터를 검색하기 위한 조건을 지정하는 데 사용됩니다. 논리 연산자(AND, OR, NOT) 및 비교 연산자(=, <>, >, <, >=, <=)를 사용하면 복잡한 쿼리 조건을 작성하여 데이터를 필터링할 수 있습니다.

다음은 이러한 연산자를 사용하는 몇 가지 예입니다.

  1. 비교 연산자를 사용하십시오.

    • = 동일한
    • <> 같지 않음
    • > 그 이상
    • < 미만
    • >= 크거나 같음
    • <= 보다 작거나 같음
  2. 논리 연산자를 사용합니다.

    • AND 모든 조건이 true인 경우에만 레코드가 선택되도록 여러 조건을 결합하는 데 사용됩니다.
    • OR 여러 조건을 결합하는 데 사용됩니다. 하나의 조건이 true이면 레코드가 선택됩니다.
    • NOT 조건의 결과를 반전시키는 데 사용됩니다.

이러한 연산자를 사용할 때는 연산자의 우선순위에 주의해야 합니다. SQL에서는NOT 우선순위가 가장 높고 그 다음이AND,이후 OR .우선순위가 확실하지 않은 경우 괄호를 사용할 수 있습니다.() 작업 순서를 명시적으로 지정합니다.

  • ASC 및 DESC

SQL 쿼리에서는ASC 그리고DESC 키워드는 열의 정렬 방향을 지정하는 데 사용됩니다.ASC 오름차순(낮은 순서)을 의미하며,DESC 내림차순(높은 것에서 낮은 것까지)을 나타냅니다. 기본적으로 정렬 방향을 지정하지 않으면 SQL 쿼리는 오름차순 정렬을 사용합니다.

  1. 오름차순으로 정렬:
SELECT * FROM employees
ORDER BY salary ASC;
  • 1
  • 2

이 쿼리는 급여 기준으로 오름차순으로 정렬된 모든 직원 기록을 반환합니다.

  1. 내림차순으로 정렬:
SELECT * FROM employees
ORDER BY salary DESC;
  • 1
  • 2

이 쿼리는 급여 기준으로 내림차순으로 정렬된 모든 직원 기록을 반환합니다.

  1. 결합하다GROUP BY그리고HAVING조항의 순서:
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000
ORDER BY avg_salary DESC;
  • 1
  • 2
  • 3
  • 4
  • 5

이 쿼리는 각 부서의 평균 급여를 반환하며 평균 급여가 50,000을 초과하는 부서만 포함합니다. 결과는 평균 연봉을 기준으로 내림차순으로 정렬됩니다.


요약하다


출처: https://www.bilibili.com/video/BV1Kr4y1i7ru?p=24&spm_id_from=pageDriver&vd_source=1f3140ce51cb028326bf69f5117609d8