Top 38 스칼라 서브 쿼리 The 5 New Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 스칼라 서브 쿼리 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Toplist.maxfit.vn team, along with other related topics such as: 스칼라 서브 쿼리 스칼라 서브쿼리 단점, 스칼라 서브쿼리 성능, 스칼라 서브쿼리 튜닝, 스칼라 서브쿼리 특징, 스칼라 서브쿼리 group by, 스칼라 서브쿼리 예제, 스칼라 서브쿼리 여러개, 스칼라 서브 쿼리 CASE


서브 쿼리, 스칼라(SCALAR) 서브 쿼리
서브 쿼리, 스칼라(SCALAR) 서브 쿼리


[mysql] subquery (서브쿼리) 종류 – 스칼라 서브쿼리, 인라인 뷰, 서브쿼리 : 네이버 블로그

  • Article author: blog.naver.com
  • Reviews from users: 28997 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [mysql] subquery (서브쿼리) 종류 – 스칼라 서브쿼리, 인라인 뷰, 서브쿼리 : 네이버 블로그 전체보기 1,579개의 글 · 1. 스칼라 서브쿼리 (Scalar Subquery). – select 절에서 사용하는 서브쿼리다. – scalar는 ‘한번에 한가지만 처리하는’ 이라는 … …
  • Most searched keywords: Whether you are looking for [mysql] subquery (서브쿼리) 종류 – 스칼라 서브쿼리, 인라인 뷰, 서브쿼리 : 네이버 블로그 전체보기 1,579개의 글 · 1. 스칼라 서브쿼리 (Scalar Subquery). – select 절에서 사용하는 서브쿼리다. – scalar는 ‘한번에 한가지만 처리하는’ 이라는 …
  • Table of Contents:

블로그

악성코드가 포함되어 있는 파일입니다

작성자 이외의 방문자에게는 이용이 제한되었습니다

[mysql] subquery (서브쿼리) 종류 - 스칼라 서브쿼리, 인라인 뷰, 서브쿼리 : 네이버 블로그
[mysql] subquery (서브쿼리) 종류 – 스칼라 서브쿼리, 인라인 뷰, 서브쿼리 : 네이버 블로그

Read More

[Oracle SQL] 오라클 스칼라 서브쿼리 알아보기

  • Article author: seeminglyjs.tistory.com
  • Reviews from users: 14132 ⭐ Ratings
  • Top rated: 5.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Oracle SQL] 오라클 스칼라 서브쿼리 알아보기 스칼라 서브 쿼리 간단히 설명하자면 SELECT 절에 사용하는 서브 쿼리로써 단순한 JOIN을 대체할 목적으로 사용되는 경우가 많다. …
  • Most searched keywords: Whether you are looking for [Oracle SQL] 오라클 스칼라 서브쿼리 알아보기 스칼라 서브 쿼리 간단히 설명하자면 SELECT 절에 사용하는 서브 쿼리로써 단순한 JOIN을 대체할 목적으로 사용되는 경우가 많다. 2021-03-04 스칼라 서브 쿼리 간단히 설명하자면 SELECT 절에 사용하는 서브 쿼리로써 단순한 JOIN을 대체할 목적으로 사용되는 경우가 많다. 다만 풀 스캔 등을 유발하는 등 JOIN에 비해서 알고리즘적 성능면에..
  • Table of Contents:

태그

관련글

댓글0

티스토리툴바

[Oracle SQL] 오라클 스칼라 서브쿼리 알아보기
[Oracle SQL] 오라클 스칼라 서브쿼리 알아보기

Read More

[SQL] 스칼라란 무엇인가 그리고 성능 및 성능 문제 간단한 해결방안

  • Article author: velog.io
  • Reviews from users: 30444 ⭐ Ratings
  • Top rated: 4.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [SQL] 스칼라란 무엇인가 그리고 성능 및 성능 문제 간단한 해결방안 스칼라 서브쿼리란 무엇인가, 쿼리 사용하면서 발생할 수 있는 성능 문제 및 간단한 해결 방법. …
  • Most searched keywords: Whether you are looking for [SQL] 스칼라란 무엇인가 그리고 성능 및 성능 문제 간단한 해결방안 스칼라 서브쿼리란 무엇인가, 쿼리 사용하면서 발생할 수 있는 성능 문제 및 간단한 해결 방법. 스칼라 서브쿼리란 무엇인가, 쿼리 사용하면서 발생할 수 있는 성능 문제 및 간단한 해결 방법
  • Table of Contents:
[SQL] 스칼라란 무엇인가 그리고 성능 및 성능 문제 간단한 해결방안
[SQL] 스칼라란 무엇인가 그리고 성능 및 성능 문제 간단한 해결방안

Read More

오라클 SQL, 서브쿼리, 스칼라 서브쿼리(scalar subquery)

  • Article author: blog.daum.net
  • Reviews from users: 24773 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 오라클 SQL, 서브쿼리, 스칼라 서브쿼리(scalar subquery) 스칼라 서브쿼리는 SELECT되는 행이 없을 때 NULL을 출력으로 합니다. 그래서 부서코드가 NULL인 “KING” 직원은 부서명이 NULL로출력됩니다. 아래 쿼리는 … …
  • Most searched keywords: Whether you are looking for 오라클 SQL, 서브쿼리, 스칼라 서브쿼리(scalar subquery) 스칼라 서브쿼리는 SELECT되는 행이 없을 때 NULL을 출력으로 합니다. 그래서 부서코드가 NULL인 “KING” 직원은 부서명이 NULL로출력됩니다. 아래 쿼리는 … 오라클 SQL, 서브쿼리, 스칼라 서브쿼리(scalar subquery) 오라클 9i에서 도입된 스칼라 서브쿼리scalar subquery는 하나의 단일 값이 출현할 수 있는 자리에 사용하는 서브 쿼리로 거의 모든 위치에서 사용할 수..http://ojc.asia
  • Table of Contents:

오라클 SQL 서브쿼리 스칼라 서브쿼리(scalar subquery)

오라클 SQL 서브쿼리 스칼라 서브쿼리(scalar subquery)

오라클 SQL, 서브쿼리, 스칼라 서브쿼리(scalar subquery)
오라클 SQL, 서브쿼리, 스칼라 서브쿼리(scalar subquery)

Read More

스칼라 서브쿼리 사용 가이드 – DATA ON-AIR

  • Article author: dataonair.or.kr
  • Reviews from users: 44456 ⭐ Ratings
  • Top rated: 4.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 스칼라 서브쿼리 사용 가이드 – DATA ON-AIR 스칼라 서브쿼리 사용 가이드 목 차적용 환경스칼라 서브쿼리 개요적용 기준주의 사항Case Study사례1 . 코드성 테이블의 명칭만 가져 오는 경우사례2 . …
  • Most searched keywords: Whether you are looking for 스칼라 서브쿼리 사용 가이드 – DATA ON-AIR 스칼라 서브쿼리 사용 가이드 목 차적용 환경스칼라 서브쿼리 개요적용 기준주의 사항Case Study사례1 . 코드성 테이블의 명칭만 가져 오는 경우사례2 . 스칼라 서브쿼리 사용 가이드 목 차적용 환경스칼라 서브쿼리 개요적용 기준주의 사항Case Study사례1 . 코드성 테이블의 명칭만 가져 오는 경우사례2 . 조인에 참여 하는 테이블이 많아 실행 계획 제어가 어려운 경우사례3 . 단순히 count, sum등의 간단한 집계 작업인 경우사례4 . 조인과 group by가 같이 있는경우 적용 환경 본 문서는 아래와 같은 환경에서 테스트 되었다. CUBRID R1.0 이상 스칼라 서브쿼리 개요 Select List절에 사용한 한 개 레코드 로부터 한 개 컬럼 값만을 반환하는 Subquery를 말한다. 적용 기준 · Select List Scalar Subquery를 수행할 결과집합이 대량이 아닌 경우 · 코드성 테이블의 조인이 많아 실행계획이 복잡해져 제어가 어려운 경우 · 코드성 테이블에서 명칭만 가져오는 경우 (단, 코드에서 명칭만 가져오더라도 결과 집합이 대량이면 스칼라 서브쿼리가 불리할 수 있으므로 대량인 경우 조인을 사용할 것) · 한 개의 테이블에서 복수 개의 컬럼을 가져오는 경우 스칼라 서브쿼리(두개의 컬럼을 ||로 묶어서 한 개의 컬럼을 리턴)를 사용하지 말고 조인을 사용하도록 함 주의 사항 아래 사용 예를 기술 하였으며 소량의 데이터인 경우는 Select List Scalar Subquery > Nested Loop Join > User Function (Java Stored Function ) 순으로 Select List Scalar Subquery 가 제일 효율적이므로 반드시 명칭을 가져오는 경우와 같은 단순한 곳에 사용해야 성능을 보장할 수 있음. Case Study 사례1 . 코드성 테이블의 명칭만 가져 오는 경우 SELECT a.name , a.content, ( SELECT code_nm FROM code_t code WHERE code.codeid = a.bbsid ) bbs_nmFROM BBSWHERE bbsid = 1 사례2 . 조인에 참여 하는 테이블이 많아 실행 계획 제어가 어려운 경우 또는 코드성 테이블에서 명칭만을 가져오기 위해 메인집합과 조인하는 경우, 조인해야될 테이블이 많고 또 쿼리가 복잡할수록 원래 의도했던 실행계획으로 풀리지 않는 경우 Select List Scalar Subquery를 활용하여 실행계획을 단순화 시키고자 할 때 사용 한다. SELECT col1, col2, ( SELECT cd_nm FROM code WHERE cd = tab1.cd ) FROM TAB1, TAB2, TAB3 사례3 . 단순히 count, sum등의 간단한 집계 작업인 경우 SELECT ( SELECT count(*) FROM sum WHERE sum.cd = tab.cd )FROM TAB 사례4 . 조인과 group by가 같이 있는경우 아래 SQL은 어떤것을 사용하든지 접근하는 PAGE 수는 동일하나, 인별로 제안건수가 10만건씩이라고 가정하면 예1 설명 – 사원10명의 데이터를읽게 되면 총 100만건의 조인된 집합이 생성된후 group by를 통해서 count를 실행하게됨 예2 설명 – 스칼라 서브쿼리를 사용한 경우 예1)과 같은 조인연산이 필요없고 조인된 집합을 가져가는 부하가 없어지게 된다. 이러한 경우도 Scalar Subquery가 유리한 경우이다. 조인을 한 다음 group by 하는것을 필요한 데이터를 group by로 읽은후 조인함으로써 조인 횟수를 줄이도록 튜닝하는 경우와 비슷하다고 생각하면 된다. 조인을 한다음에 group by를 하는경우 SELECT a.사번, a.성명, a.주민번호, a.자택전화번호, a.EMAIL, COUNT(*)FROM 사원 a, 제안 bWHERE a.현소속조직 = ‘D1007’AND b.제안출처구분 = ‘사원’AND b.제안출처 = a.사번GROUP BY 사번, 성명, 주민번호, 자택전화번호, EMAIL 별도의 조인없이 원하는 count만을 구하는 경우 SELECT 사번, 성명, 주민번호, 자택전화번호, EMAIL,(SELECT COUNT(*)FROM 제안 bWHERE b.제안출처구분 = ‘사원’AND b.제안출처 = a.사번) 제안횟수FROM 사원 aWHERE 현소속조직 = ‘D1007’
  • Table of Contents:
스칼라 서브쿼리 사용 가이드 – DATA ON-AIR
스칼라 서브쿼리 사용 가이드 – DATA ON-AIR

Read More

[Oracle] 오라클 서브쿼리 종류 및 사용법 (SubQuery)

  • Article author: gent.tistory.com
  • Reviews from users: 4342 ⭐ Ratings
  • Top rated: 3.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Oracle] 오라클 서브쿼리 종류 및 사용법 (SubQuery) 스칼라 서브 쿼리, SELECT 절, 단일 칼럼, 단일 행을 반환 (1개의 값). 인라인 뷰, FROM 절, View와 사용적인 측면에서 동일함 (임시 뷰, … …
  • Most searched keywords: Whether you are looking for [Oracle] 오라클 서브쿼리 종류 및 사용법 (SubQuery) 스칼라 서브 쿼리, SELECT 절, 단일 칼럼, 단일 행을 반환 (1개의 값). 인라인 뷰, FROM 절, View와 사용적인 측면에서 동일함 (임시 뷰, … 오라클에서 쿼리문을 작성하다 보면 서브 쿼리(subquery)를 자주 접하게 된다. 서브 쿼리를 처음 접하면 아주 복잡하게 느껴지는데, 기능을 조금만 익히면 쿼리문을 작성할 때 아주 유용하게 사용할 수 있다. 서브..
  • Table of Contents:

Header Menu

Main Menu

[Oracle] 오라클 서브쿼리 종류 및 사용법 (SubQuery)

‘데이터베이스오라클’ 관련 글

Sidebar – Right

Sidebar – Footer 1

Sidebar – Footer 2

Sidebar – Footer 3

Copyright © 젠트의 프로그래밍 세상 All Rights Reserved

Designed by JB FACTORY

[Oracle] 오라클 서브쿼리 종류 및 사용법 (SubQuery)
[Oracle] 오라클 서브쿼리 종류 및 사용법 (SubQuery)

Read More

일상

  • Article author: rsorry.tistory.com
  • Reviews from users: 21752 ⭐ Ratings
  • Top rated: 4.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 일상 스칼라 서브쿼리는 LEFT OUTER JOIN 과 결과값이 똑같습니다. 하지만, JOIN 하는 것보다 성능이 우수합니다. 그 이유는, JOIN은 테이블을 전부 읽어서 … …
  • Most searched keywords: Whether you are looking for 일상 스칼라 서브쿼리는 LEFT OUTER JOIN 과 결과값이 똑같습니다. 하지만, JOIN 하는 것보다 성능이 우수합니다. 그 이유는, JOIN은 테이블을 전부 읽어서 … 이번에는 스칼라 서브쿼리에 대해서 알아 봅시다. 스칼라 서브쿼리 저번 시간에 알아 보았던, “단일 행 서브쿼리 / 다중 행 서브쿼리” 는 WHERE 옆에 위치 했었죠? 스칼라 서브쿼리는 SELECT 옆에 위치 합니다. 스..
  • Table of Contents:

스칼라 서브쿼리

티스토리툴바

일상
일상

Read More

[MYSQL] 📚 서브쿼리 개념 & 문법 💯 정리

  • Article author: inpa.tistory.com
  • Reviews from users: 49932 ⭐ Ratings
  • Top rated: 3.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [MYSQL] 📚 서브쿼리 개념 & 문법 💯 정리 스칼라 서브쿼리( Scalar Subquery ). – SELECT 문에 나타나는 서브쿼리. – 딴 테이블에서 어떠한 값을 가져올때 쓰임. – 하나 … …
  • Most searched keywords: Whether you are looking for [MYSQL] 📚 서브쿼리 개념 & 문법 💯 정리 스칼라 서브쿼리( Scalar Subquery ). – SELECT 문에 나타나는 서브쿼리. – 딴 테이블에서 어떠한 값을 가져올때 쓰임. – 하나 … 서브쿼리(Subquery) 서브쿼리(subquery)란 다른 쿼리 내부에 포함되어 있는 SELETE 문을 의미한다. 서브쿼리를 포함하고 있는 쿼리를 외부쿼리(outer query)라고 부르며, 서브쿼리는 내부쿼리(inner query)라고도..
  • Table of Contents:

서브쿼리(Subquery)

서브쿼리 실전 예제

방문해 주셔서 감사드립니다

공지사항

최근 댓글 new

최근 글 new

인기 글 hot

티스토리툴바

[MYSQL] 📚 서브쿼리 개념 & 문법 💯 정리
[MYSQL] 📚 서브쿼리 개념 & 문법 💯 정리

Read More


See more articles in the same category here: toplist.maxfit.vn/blog.

[Oracle SQL] 오라클 스칼라 서브쿼리 알아보기

2021-03-04

Photo by Marek Piwnicki on Unsplash

스칼라 서브 쿼리 간단히 설명하자면 SELECT 절에 사용하는 서브 쿼리로써 단순한 JOIN을 대체할 목적으로 사용되는 경우가 많다. 다만 풀 스캔 등을 유발하는 등 JOIN에 비해서 알고리즘적 성능면에서 다소 떨어지기 때문에 JOIN을 할 수 있는 경우는 JOIN을 하는 게 좋다.

또한 서브쿼리에 조건에 따라 반드시 하나의 값을 출력하게 되며(단 한 개의 행을 출력한다는 의미가 아님), 만약에 서브 쿼리에 결과 데이터가 없을 경우 NULL 값을 리턴하다. 어떤 면에서는 OUTERJOIN과 다소 비슷한 역할을 하기도 한다.

– 예제

SEE_INFO 테이블 PK -> SEENUM / FK -> GRADE

SEE_GRADE 테이블 PK_GRADE

– 스칼라 서브쿼리 예제 1

문제 : 2학년 학생의 번호 / 이름 / 나이 / 학년 이름을 찾아 출력하라.

스칼라 서브 쿼리의 가장 많은 사용방법은 바로 조인없이 조인과 같은 결과 값을 나타내는 것인데, 위의 문제를 서브쿼리로 나타내면 아래와 같다.

SELECT S.SEENUM, S.NAME, S.AGE , (SELECT GNAME FROM SEE_GRADE G WHERE S.GRADE = G.GRADE) AS GNAME FROM SEE_INFO S WHERE GRADE = 2;

코드와 같이 FROM 절에는 하나의 테이블만 명시하고, SELECT 절에서 다른 테이블과 원하는 데이터 정보를 추출하는 방식이다.

– 스칼라 서브쿼리 예제 2

문제 : 학생의 번호가 5번 이상인 학생의 번호 / 이름 / 나이 / 학년 이름을 찾아 출력하라.

해당 문제에서 9번 학생과 10번 학생은 현재 학년이 정해지지 않아 학년 이름 또한 없는 상태이다. 만약에 스칼라 서브 쿼리가 INNER JOIN과 같은 특징이 나타날 경우 학년이 정해지지 않은 학생들이 데이터는 출력되지 않을 것이다. 하지만 스칼라 서브 쿼리는 쿼리 조건에 맞는 반드시 하나의 대응하는 값을 나타내야 하기 때문에 학년이 정해지지 않은 학생들은 GNAME이 NULL 값과 함께 출력된다.

SELECT S.SEENUM, S.NAME, S.AGE , (SELECT GNAME FROM SEE_GRADE G WHERE S.GRADE = G.GRADE) AS GNAME FROM SEE_INFO S WHERE SEENUM >= 5 ;

아래 결과에서 보듯이 여기서 스칼라 서브 쿼리의 특징으로 인해서 OUTTER JOIN과 같은 결과가 나오는 것을 확인할 수 있다.

위의 코드를 OUTTER JOIN 코드로 나타내면 아래와 같다.

–SQL OUTTER JOIN SELECT S.SEENUM, S.NAME, S.AGE, G.GNAME FROM SEE_INFO S, SEE_GRADE G WHERE S.GRADE = G.GRADE(+) AND SEENUM >= 5 ORDER BY SEENUM;

메인 이미지 출처:Photo by Marek Piwnicki on Unsplash

[SQL] 스칼라란 무엇인가 그리고 성능 및 성능 문제 간단한 해결방안

우선 서브쿼리(Subquery)란 sql내에 다른 sql이 포함되어있는 포함되어있는 쿼리를 의미합니다.

SELECT절에 포함된 서브쿼리를 스칼라 서브쿼리라고 부르는데,

스칼라 서브쿼리로 부터 나오는 결과는 반드시 하나여야합니다.(그렇지 않을 경우 에러 발생…)

SELECT business_number, ( SELECT count(*) FROM like_store i WHERE i.business_number = s.business_number ) FROM stores s;

예시) 업체 리스트를 조회하는데 해당 업체의 총 좋아요 갯수까지 함께 조회한다.

위 쿼리의 수행 순서는 메인 쿼리 -> 서브 쿼리 순으로 동작합니다.

서브쿼리는 결과 건수만큼 반복 수행되기 때문에 조회되는 데이터의 갯수가 적다면 크게 문제될 것은 없지만,

조회 되는 데이터의 갯수가 많아지면 많아질 수록 성능이 현저히 떨어지는 모습을 볼 수 있습니다.

또한 스칼라 서브쿼리 사용시 서브쿼리의 결과값이 같은 경우가 많거나, 매번 동일한 결과값을 반환한다면, 스칼라 서브쿼리의 캐싱 효과를 통해 성능을 높일 수 있으나, 서브쿼리에서 사용되는 조건의 종류가 많아지거나 혹은 조건 데이터가 지속적으로 바뀔경우 캐싱의 효율성이 떨어지기 때문에 이전보다 성능이 떨어질 수 있습니다.

위 예시 쿼리는 매번 서브 쿼리가 수행될 때마다 s.business_number(pk)가 달라지기 때문에 성능이 좋지 않은 모습을 볼 수 있었는데요.

위와 같은 서브쿼리의 성능을 개선하기 위해 LEFT OUTER JOIN에 인라인 뷰를 포함 시킬 수 있습니다.

SELECT s.business_number, IFNULL(i.count,0) FROM stores s LFET OUTER JOIN (SELECT COUNT(*) count, business_number FROM interest_store GROUP BY business_number) i ON s.business_number = i.business_number

SELECT절에 있던 서브쿼리의 구문을 LEFT OUTER JOIN으로 옮긴 모습을 볼 수 있는데,

각 업체마다 좋아요 count를 확인할 수 있어야했기 때문에 GROUP BY절을 사용했습니다.

잘못된 부분이 있거나 혹은 개선되어야할 부분이 있다면 댓글 부탁드리겠습니다. 감사합니다 ^^

오라클 SQL, 서브쿼리, 스칼라 서브쿼리(scalar subquery)

오라클 SQL, 서브쿼리, 스칼라 서브쿼리(scalar subquery)

오라클 9i에서 도입된 스칼라 서브쿼리scalar subquery는 하나의 단일 값이 출현할 수 있는 자리에 사용하는 서브 쿼리로 거의 모든 위치에서 사용할 수 있습니다. 다음은 스칼라 서브쿼리를 사용할 수 있는 곳 입니다. 만약 스칼라 서브 쿼리가 행을 반환하지 못하면 출력에 NULL 값을 사용하며 GROUP BY 절에서는 사용할 수 없습니다.

SELECT 문

CASE 표현식

INSERT 문의 VALUES 절

WHERE 절

ORDER BY 절

함수의 매개 변수

하나의 단일값을 선택하기 때문에 반드시 단일 값을 반환해야 합니다.

SELECT절의 컬럼 위치에 사용되는 경우 데이터 건수가 적을 때 조인 방식보다 유리합니다.

다음은 부서별 사원수를 스칼라 서브쿼리로 구하는 예문 입니다.

부서(DEPT) 테이블의 행들을 하나씩 읽으면서 부서코드(DEPTNO), 부서명(DNAME)을 출력하고 그 행의 부서코드 값을 안쪽 서브쿼리에 넣어 서브 쿼리를 실행하여 해당 직원이 속한 부서의 사원수를 COUNT 합니다.

위의 쿼리를 인라인뷰, 조인을 이용하여 다시 작성하면 다음과 같습니다.

부서(DEPT) 테이블에는 40번 부서가 있지만 직원(EMP) 테이블에는 40번 부서원이 없으므로 인라인뷰 서브쿼리의 결과에서는 40번 부서가 없습니다. 그 결과와 DEPT 테이블이 조인을 하므로 40번 부서는 조회되지 않습니다.

5.5.1 직원 정보 추출하기 : 조인

조인을 이용하려면 양쪽 테이블에 조인키에 해당하는 컬럼이 있어야 합니다.조인은 조건이 양쪽 테이블 모두에서 정확히 일치하는 데이터만 추출됩니다. 조인을 사용하여 직원 정보를 추출해봅시다.

직원 테이블과 부서 테이블을 조인하여 사번, 직원명, 부서코드, 부서명을 추출합니다.

SELECT EMPNO

, ENAME

, EMP.DEPTNO

, DNAME

FROM EMP, DEPT

WHERE EMP.DEPTNO = DEPT.DEPTNO; ❶

<실행 결과>

EMPNO ENAME DEPTNO JOB 1 7782 CLARK 10 ACCOUNTING 2 7934 MILLER 10 ACCOUNTING 3 7788 SCOTT 20 RESEARCH ….. …… …… …… …… 13 7521 WARD 30

부서명은 EMP 테이블에 없고 DEPT 테이블에 있습니다. 부서명을 얻기 위해 ❶에서부서코드 DEPTNO 컬럼을 조인키로 사용합니다. EMP 테이블에서 부서코드(DEPTNO)가 NULL인 KING 직원은 출력되지 않습니다.

5.5.2 직원 정보 추출하기 : 스칼라 서브쿼리

위 쿼리를 스칼라 서브쿼리를 사용해서 수정 합시다.

스칼라 서브쿼리는 SELECT되는 행이 없을 때 NULL을 출력으로 합니다. 그래서 부서코드가 NULL인 “KING” 직원은 부서명이 NULL로출력됩니다.

아래 쿼리는 EMP 테이블의 전체 데이터가 기본적으로 출력됩니다.

SELECT EMPNO

, ENAME

, DEPTNO

, (SELECT DNAME FROM DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO)

FROM EMP;

<실행 결과>

EMPNO ENAME DEPTNO JOB 1 7369 SMITH 20 RESEARCH 2 7499 ALLEN 30 SALES 3 7521 WARD 30 SALES 4 7566 JONES 20 RESEARCH 5 7654 MARTIN 30 SALES 6 7698 BLAKE 30 SALES 7 7782 CLARK 10 ACCOUNTING 8 7788 SCOTT 20 RESEARCH 9 7839 KING (null) (null) 10 7844 TURNER 30 SALES 11 7876 ADAMS 20 RESEARCH 12 7900 JAMES 30 SALES 13 7902 FORD 20 RESEARCH 14 7934 MILLER 10 ACCOUNTING

5.5.3 부서별 직원 수 출력하기 : XXX

부서별로 직원 수를 출력해보겠습니다. 부서 직원 수가 NULL이면 0으로 대체하는 NVL() 함수를 사용하세요.

SELECT DEPTNO

, DNAME

, (SELECT ❶NVL(COUNT(*),0) FROM EMP

WHERE EMP.DEPTNO = DEPT.DEPTNO) AS EMP_CNT

FROM DEPT;

<실행 결과>

DEPTNO DNAME EMPCNT 1 10 ACCOUNTING 2 2 20 RESEARCH 5 3 30 SALES 6 4 40 OPERATIONS 0

❶ NVL() 함수로 COUNT(*) 결과가 NULL이면 0으로 대체합니다.

DEPT 테이블의 행들을 하나씩 읽어들이면서 읽은 DEPTNO 값을 서브쿼리에 넣어 EMP 테이블에서 해당 부서원들의 수를 카운트 하여 결과를 반환합니다. 이러한 스칼라 서브쿼리 는 DEPT 테이블의 건수가 아주 많다면 성능상 좋지 않을 수 있지만 건수가 얼마 되지 않는 다면 조인보다 성능이 좋을 수 있습니다.

5.5.4 INSERT절에 서브쿼리 사용하기 : 스칼라 서브쿼리

INSERT 절에 스칼라 서브쿼리를 사용한 예문입니다.

CREATE TABLE EMP_SUMMARY ( ❶

SUM_SAL NUMBER,

AVG_SAL NUMBER,

MAX_SAL NUMBER,

MIN_SAL NUMBER

);

INSERT INTO EMP_SUMMARY (

SUM_SAL ,

AVG_SAL ,

MAX_SAL ,

MIN_SAL )

VALUES (

(SELECT SUM(SAL) FROM EMP), ❷

(SELECT ROUND(AVG(SAL), 0) FROM EMP),

(SELECT MAX(SAL) FROM EMP),

(SELECT MIN(SAL) FROM EMP)

);

COMMIT;

SELECT * FROM EMP_SUMMARY ;

<실행 결과>

SUM_SAL AVG_SAL MAX_SAL MIN_SAL 1 29025 2073 5000 800

❶ 4개의 컬럼을 가지는 EMP_SUMMARY 테이블을 생성 합니다.

❷ INSERT절의 VALUES구에서 스칼라 서브쿼리를 사용하여 단일 값을 조회하여 삽입 합니다.​

#오라클 #SQL #서부쿼리 #스칼라서브쿼리

So you have finished reading the 스칼라 서브 쿼리 topic article, if you find this article useful, please share it. Thank you very much. See more: 스칼라 서브쿼리 단점, 스칼라 서브쿼리 성능, 스칼라 서브쿼리 튜닝, 스칼라 서브쿼리 특징, 스칼라 서브쿼리 group by, 스칼라 서브쿼리 예제, 스칼라 서브쿼리 여러개, 스칼라 서브 쿼리 CASE

Leave a Comment