찾다

SQL의 중첩 쿼리

Apr 11, 2025 am 09:17 AM

소개

내부에 중첩 된 책이있는 책이 포함 된 광대 한 도서관을 검색한다고 상상해보십시오. 특정 정보를 찾으려면 먼저 작은 책을 참조한 다음 해당 정보를 사용하여 더 큰 책을 찾아야 할 수도 있습니다. 이것은 SQL의 중첩 쿼리의 개념을 보여줍니다. 이 쿼리는 다른 쿼리가 다른 쿼리에 내장되어 복잡한 데이터의 추출을 단순화합니다. 이 안내서는 중첩 쿼리 기능을 탐색하고 효율적인 데이터베이스 관리를위한 응용 프로그램을 보여줍니다.

SQL의 중첩 쿼리

주요 학습 목표

  • SQL에서 중첩 쿼리 (하위 쿼리)의 개념을 파악하십시오.
  • 다양한 SQL 문 내에서 중첩 쿼리를 구성하고 구현하십시오.
  • 상관 관계가없는 중첩 쿼리를 구별하십시오.
  • 중첩 구조를 사용하여 SQL 쿼리를 최적화하여 성능을 향상시킵니다.

목차

  • SQL의 중첩 쿼리 이해
  • SQL에서 중첩 쿼리 유형 탐색
  • 중첩 쿼리의 실제 응용 프로그램
  • 일반적인 중첩 쿼리 함정을 피하십시오
  • 자주 묻는 질문

SQL의 중첩 쿼리 이해

하위 쿼리라고도하는 중첩 쿼리는 다른 안에 내장 된 SQL 쿼리입니다. 내부 쿼리의 출력은 외부 쿼리를 알려 주어 복잡한 데이터 검색을 가능하게합니다. 이것은 내부 쿼리의 결과가 외부 쿼리의 데이터에 의존 할 때 특히 유용합니다.

기본 구문

 column_name (들) 선택  
table_name에서  
여기서 column_name = (table_name에서 column_name을 선택);

SQL에서 중첩 쿼리 유형 탐색

중첩 쿼리 (하위 쿼리)는 하나의 SQL 쿼리를 다른 SQL 쿼리에 포함시켜 복잡한 데이터 검색을 용이하게합니다. 이것은 효율적이고 정교한 SQL 코드를 작성하는 데 중요합니다. 이 섹션에는 예제 및 예상 출력이 포함 된 다양한 중첩 쿼리 유형에 대해 자세히 설명합니다.

SQL의 단일 줄 하위 쿼리

단일 열 서브 쿼리는 단일 행으로 하나 이상의 열을 생성합니다. 단일 값에 대해 비교 연산자 (=,>, =,

단일 로우 하위 쿼리의 특성을 정의합니다

  • 단일 행 출력 : 단일 행의 데이터를 생성합니다.
  • 비교 연산자 : 일반적으로 비교 연산자와 함께 사용됩니다.
  • 여러 열 가능 : 해당 단일 행 내에서 여러 열을 반환 할 수 있습니다.

예 : 평균 급여를 초과하는 직원을 식별합니다

표 : 직원

Employee_id First_name 샐러리 Department_ID
1 남자 암사슴 90000 1
2 계집애 스미스 95000 1
3 앨리스 존슨 60000 2
4 단발 갈색 65000 2
5 백인 데이비스 40000 3
6 이브 아담스 75000 3

표 : 부서

Department_ID Department_name location_id
1 매상 1700
2 마케팅 1700
3 그것 1800
4 HR 1900
 First_name, Last_name, Salary를 선택하십시오
직원들로부터
여기서 급여> (직원에서 AVG (급여) 선택);

산출:

 <code>| first_name | last_name | salary | |------------|-----------|--------| | John | Doe | 90000 | | Jane | Smith | 95000 |</code>

내부 쿼리는 평균 급여를 계산합니다. 그런 다음 외부 쿼리는이 평균 이상의 직원을 선택합니다.

SQL의 멀티 로우 하위 쿼리

멀티 로우 서브 쿼리는 여러 행을 반환합니다. 이들은 일반적으로 IN , ANY 또는 ALL 연산자와 함께 값 세트와 열을 비교하기 위해 사용됩니다.

예 : 특정 부서에서 직원 검색

 First_Name, last_name을 선택하십시오
직원들로부터
여기서 Department_id in

산출:

 <code>| first_name | last_name | |------------|-----------| | John | Doe | | Jane | Smith |</code>

내부 쿼리는 특정 위치에서 부서 ID를 선택합니다. 그런 다음 외부 쿼리는 해당 부서에서 일하는 직원을 검색합니다.

SQL의 상관 된 하위 쿼리

상관 관계 서브 쿼리는 해당 값의 외부 쿼리에 따라 다릅니다. 독립 하위 쿼리와 달리 외부 쿼리에서 처리 된 각 행에 대해 동적으로 실행됩니다.

상관 된 하위 쿼리의 특성

  • 외부 쿼리에 대한 종속성 : 내부 쿼리 참조는 외부 쿼리의 열을 참조합니다.
  • 행으로 실행 : 내부 쿼리는 외부 쿼리에서 행당 한 번 반복적으로 실행됩니다.
  • 성능 영향 : 반복적 인 실행은 대규모 데이터 세트의 성능에 영향을 줄 수 있습니다.

예 : 부서의 평균보다 더 많은 수입을 얻는 직원을 식별합니다

 First_Name, Salary를 선택하십시오
직원으로부터 E1
여기서 급여> (직원 E2에서 E1.DEPARTMENT_ID = E2.DEPARTMENT_ID)에서 직원 E2에서 AVG (AVG)를 선택합니다.

출력 : (출력은 employees 테이블의 데이터에 따라 다릅니다)

내부 쿼리는 외부 쿼리에 의해 처리되는 직원에 비해 각 부서의 평균 급여를 계산합니다.

SQL의 중첩 하위 쿼리

중첩 하위 쿼리에는 하나의 하위 퀘스트를 다른 하위 쿼드에 포함시켜 층 구조를 만듭니다. 이를 통해 복잡한 데이터 조작 및 필터링이 가능합니다.

중첩 하위 쿼리의 구조

  • 외부 쿼리 : 중첩 하위 쿼리가 포함 된 기본 쿼리.
  • 내부 쿼리 (IES) : 외부 쿼리 내에 내장 된 하위 쿼리.

예 : 평균 이상의 직원이있는 부서 식별

 Department_id, Department_name을 선택하십시오
부서에서
여기서 _id에서 (
    Department_id를 선택하십시오
    직원들로부터
    여기서 급여> (직원에서 AVG (월급) 선택)
);

출력 : (출력은 employeesdepartments 테이블의 데이터에 따라 다릅니다)

스칼라 하위 쿼리

스칼라 하위 쿼리는 단일 값 (한 행, 한 열)을 반환합니다. 기본 쿼리에서 단일 값이 필요한 곳이면 어디든 유용합니다.

스칼라 하위 쿼리의 특성

  • 단일 값 반품 : 하나의 값 만 반환합니다.
  • 다양한 조항 사용 : SELECT , WHEREHAVING 에서 사용할 수 있습니다.
  • 효율적인 비교 : 단일 파생 값과 비교하는 데 유용합니다.

예 : 평균에 비해 직원 급여

 Select_name, last_name, Salary- (직원의 Avg (Salary))로 salary_difference를 선택하십시오.
직원으로부터;

출력 : (출력은 employees 테이블의 데이터에 따라 다릅니다)

중첩 쿼리의 실제 응용 프로그램

중첩 쿼리는 다양한 복잡한 데이터 검색 시나리오에 유용합니다.

파생 된 값을 기반으로 한 데이터 필터링

중첩 쿼리는 다른 테이블에서 계산 된 값을 기반으로 데이터를 효율적으로 필터링합니다.

집계 계산

중첩 쿼리에서 계산 된 집계 (예 : Avg, Sum, Count)는 조건부 필터링을 위해 외부 쿼리에서 사용할 수 있습니다.

조건부 로직 구현

중첩 쿼리는 조건부 로직을 SQL 문에 통합하는 메커니즘을 제공합니다.

상관 된 하위 쿼리를 사용한 로우 레벨 계산

상관 된 하위 쿼리는 외부 쿼리의 현재 행을 기반으로 한 줄 수준 계산을 활성화합니다.

일반적인 중첩 쿼리 함정을 피하십시오

강력하지만 중첩 된 쿼리는 문제를 일으킬 수 있습니다.

스칼라 하위 쿼리에서 여러 행이 반환됩니다

스칼라 하위 쿼리는 단일 값을 반환해야합니다. 여러 행으로 인해 오류가 발생합니다.

성능 저하

중첩 된 쿼리, 특히 상관 관계가있는 쿼리는 특히 큰 데이터 세트에서 성능에 크게 영향을 줄 수 있습니다. 결합과 같은 대체 접근법을 고려하십시오.

괄호가 잘못 배치됩니다

잘못된 괄호는 논리적 오류와 예기치 않은 결과로 이어질 수 있습니다.

널 값 처리

의도하지 않은 필터링을 피하기 위해 널 값이 어떻게 처리되는지주의 깊게 고려하십시오.

결론

SQL 중첩 쿼리 (하위 쿼리)는 효율적인 복잡한 데이터 검색을위한 강력한 도구입니다. 효과적인 데이터베이스 관리에는 다른 유형을 이해하는 데 중요합니다. 모범 사례를 따르고 일반적인 함정을 피하면 중첩 쿼리를 활용하여 SQL 기술을 향상시키고 데이터베이스 성능을 최적화 할 수 있습니다.

자주 묻는 질문

Q1. SQL의 중첩 쿼리는 무엇입니까?

중첩 쿼리 또는 하위 쿼리는 다른 쿼리에 포함 된 SQL 쿼리입니다. 내부 쿼리의 결과는 외부 쿼리에서 복잡한 데이터 검색을 수행하기 위해 사용됩니다.

Q2. 중첩 쿼리의 유형은 무엇입니까?

주요 유형은 단일 로우, 멀티 로우, 상관 및 스칼라 하위 쿼리이며, 각각 다른 작업에 적합합니다.

Q3. 상관 관계 서브 쿼리는 언제 사용해야합니까?

내부 쿼리가 동적, 행별로 처리를 위해 외부 쿼리의 열을 참조해야 할 때 상관 관계 서브 쿼리를 사용하십시오.

Q4. 중첩 쿼리가 성능에 영향을 줄 수 있습니까?

예, 중첩 된 쿼리, 특히 상관 관계가있는 쿼리는 성능에 크게 영향을 줄 수 있습니다. 쿼리 계획을 분석하고 조인과 같은 대안을 고려하여 최적화하십시오.

위 내용은 SQL의 중첩 쿼리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
LM Studio를 사용하여 LLM을 로컬로 운영하는 방법은 무엇입니까? - 분석 VidhyaLM Studio를 사용하여 LLM을 로컬로 운영하는 방법은 무엇입니까? - 분석 VidhyaApr 19, 2025 am 11:38 AM

집에서 쉽게 대형 언어 모델 실행 : LM Studio User Guide 최근 몇 년 동안 소프트웨어 및 하드웨어의 발전으로 개인용 컴퓨터에서 LLM (Large Language Model)을 실행할 수있었습니다. LM Studio는이 프로세스를 쉽고 편리하게 만드는 훌륭한 도구입니다. 이 기사는 LM Studio를 사용하여 LLM을 로컬로 운영하는 방법, 주요 단계, 잠재적 문제 및 LLM의 이점을 현지에서 사용하는 방법에 따라 다릅니다. 당신이 기술 애호가이거나 최신 AI 기술에 대해 궁금하든이 가이드는 귀중한 통찰력과 실용적인 팁을 제공합니다. 시작합시다! 개요 LLM을 로컬로 실행하기위한 기본 요구 사항을 이해하십시오. 컴퓨터에 LM Studi를 설정하십시오

Guy Peri는 데이터 변환을 통해 McCormick의 미래를 도와줍니다Guy Peri는 데이터 변환을 통해 McCormick의 미래를 도와줍니다Apr 19, 2025 am 11:35 AM

Guy Peri는 McCormick의 최고 정보 및 디지털 책임자입니다. Peri는 그의 역할에 7 개월 만에 회사의 디지털 기능에 대한 포괄적 인 변화를 빠르게 발전시키고 있습니다. 데이터 및 분석에 대한 그의 경력에 ​​중점을 둡니다

신속한 엔지니어링에서 감정의 사슬은 무엇입니까? - 분석 Vidhya신속한 엔지니어링에서 감정의 사슬은 무엇입니까? - 분석 VidhyaApr 19, 2025 am 11:33 AM

소개 인공 지능 (AI)은 인간의 손길로 반응하는 단어뿐만 아니라 감정을 이해하기 위해 진화하고 있습니다. 이 정교한 상호 작용은 빠르게 발전하는 AI 및 자연어 처리 분야에서 중요합니다. th

12 데이터 과학 워크 플로우를위한 최고의 AI 도구 - 분석 Vidhya12 데이터 과학 워크 플로우를위한 최고의 AI 도구 - 분석 VidhyaApr 19, 2025 am 11:31 AM

소개 오늘날의 데이터 중심 세계에서 고급 AI 기술을 활용하는 것은 경쟁 우위와 효율성을 높이는 비즈니스에 중요합니다. 다양한 강력한 도구는 데이터 과학자, 분석가 및 개발자가 구축, Depl을 구축 할 수 있도록 힘을 실어줍니다.

AV 바이트 : OpenAi의 GPT-4O 미니 및 기타 AI 혁신AV 바이트 : OpenAi의 GPT-4O 미니 및 기타 AI 혁신Apr 19, 2025 am 11:30 AM

이번 주 AI 환경은 Openai, Mistral AI, Nvidia, Deepseek 및 Hugging Face와 같은 업계 대기업의 획기적인 릴리스로 폭발했습니다. 이 새로운 모델은 TR의 발전으로 인해 증가 된 전력, 경제성 및 접근성을 약속합니다.

Perplexity의 Android 앱은 보안 결함에 감염되어 있으며 보고서는Perplexity의 Android 앱은 보안 결함에 감염되어 있으며 보고서는Apr 19, 2025 am 11:24 AM

그러나 검색 기능뿐만 아니라 AI 보조원 역할을하는 회사의 Android 앱은 사용자에게 데이터 도난, 인수 및 악의적 인 공격에 노출 될 수있는 다양한 보안 문제로 가득 차 있습니다.

모두가 AI 사용에 더 나아지고 있습니다 : Vibe 코딩에 대한 생각모두가 AI 사용에 더 나아지고 있습니다 : Vibe 코딩에 대한 생각Apr 19, 2025 am 11:17 AM

컨퍼런스와 전시회에서 무슨 일이 일어나고 있는지 볼 수 있습니다. 엔지니어에게 자신이하고있는 일을 물어 보거나 CEO와 상담 할 수 있습니다. 당신이 보는 곳마다, 상황은 졸린 속도로 변화하고 있습니다. 엔지니어 및 비 엔지니어 차이점은 무엇입니까?

Rocketpy -Analytics Vidhya를 사용한 로켓 런칭 시뮬레이션 및 분석Rocketpy -Analytics Vidhya를 사용한 로켓 런칭 시뮬레이션 및 분석Apr 19, 2025 am 11:12 AM

Rocketpy : 포괄적 인 가이드로 로켓 발사 시뮬레이션 이 기사는 강력한 파이썬 라이브러리 인 Rocketpy를 사용하여 고출력 로켓 런칭을 시뮬레이션하는 것을 안내합니다. 로켓 구성 요소 정의에서 Simula 분석에 이르기까지 모든 것을 다룰 것입니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.