PL/SQL 단일 행 함수 및 그룹 함수에 대한 자세한 설명 함수는 0개 이상의 매개변수와 반환 값을 갖는 프로그램입니다. Oracle에는 SQL에 일련의 내장 함수가 있습니다.
이러한 함수는 SQL 또는 PL/SQL 문이라고 부를 수 있습니다. 함수는 주로 두 가지 범주로 나뉩니다.
단일 행 함수 그룹 함수 이 문서에서는 단일 행 함수를 활용하는 방법과 사용 규칙에 대해 설명합니다.
SQL의 단일 행 함수
SQL 및 PL/SQL에는 문자, 숫자, 날짜, 변환 및 단일 데이터 행 처리를 위한 혼합 함수를 비롯한 다양한 유형의 함수가 함께 제공됩니다.
따라서 이를 집합적으로 단일 행 함수라고 부를 수 있습니다. 이 함수는 SELECT, WHERE, ORDER BY 및 기타 절에서 사용할 수 있습니다.
예를 들어, 다음 예에는 TO_CHAR, UPPER 및 SOUNDEX와 같은 단일 행 함수가 포함되어 있습니다.
SELECT 이름,TO_CHAR(hiredate,'day,DD-Mon-YYYY')
엠프에서
여기서 UPPER(ename)은 'AL%'와 같습니다.ORDER BY SOUNDEX(ename)
단일 행 함수는 update의 SET 절, INSERT의 VALUES 절, DELET의 WHERE 절과 같은 다른 문에서도 사용할 수 있습니다.
인증 시험에서는 SELECT 문에서 이러한 기능을 사용하는 데 특별한 주의를 기울이므로 SELECT 문에도 관심이 집중됩니다.
NULL 및 단일 행 함수 NULL을 이해하는 것은 처음에는 어려울 수 있으며 경험이 많은 사람이라도 여전히 혼란스러울 수 있습니다.
NULL 값은 알 수 없는 데이터 또는 Null 값을 나타냅니다. 산술 연산자의 모든 피연산자는 NULL 값이며 결과는 NULL 값입니다.
이 규칙은 많은 함수에도 적용됩니다. CONCAT, DECODE, DUMP, NVL 및 REPLACE만 NULL 매개변수로 호출할 때 NULL이 아닌 값을 반환할 수 있습니다.
이 중에서 NVL 함수는 NULL 값을 직접 처리할 수 있기 때문에 가장 중요합니다.
NVL에는 NVL(x1,x2)이라는 두 개의 매개변수가 있습니다. x1과 x2는 모두 표현식입니다. x1이 null이면 X2가 반환되고, 그렇지 않으면 x1이 반환됩니다.
급여와 보너스가 포함된 emp 데이터 테이블을 살펴보겠습니다.
열 이름
emp_id 급여 보너스 키 유형
pk nulls/unique nn,u nnfk 테이블 데이터 유형 번호 번호 번호 길이 11.2 11.2
급여와 보너스를 단순히 합산하는 대신 다음 예와 같이 특정 행에 Null 값이 있는 경우 결과는 Null이 됩니다.
빈 급여 업데이트 =(급여+보너스)*1.1
이 명세서에서는 직원의 급여와 보너스가 새로운 값으로 업데이트되지만 보너스가 없으면
즉, 급여 + null이면 잘못된 결론이 도출됩니다. 이때 null 값의 영향을 제거하기 위해 nvl 함수를 사용해야 합니다.
따라서 올바른 진술은 다음과 같습니다.
빈 세트 급여 업데이트=(급여+nvl(보너스,0)*1.1
한 줄 문자열 함수 한 줄 문자열 함수는 문자열 데이터를 조작하는 데 사용됩니다. 대부분은 하나 이상의 매개 변수를 가지며 대부분 문자열을 반환합니다.
아스키()
c1은 문자열이고 c1의 첫 글자의 ASCII 코드를 반환하며 그 역함수는 CHR()입니다.
SELECT ASCII('A') BIG_A,ASCII('z') BIG_z
empBIG_A BIG_z65 122에서
CHR(<i>)[NCHAR_CS]
i는 숫자이고 함수는 문자의 10진수 표현을 반환합니다.
CHR(65),CHR(122),CHR(223)을 선택하세요.
empCHR65 CHR122 CHR223A z B에서
연결(,)
c1과 c2는 모두 문자열입니다. c1이 null이면 c2가 반환됩니다.
c1과 c2가 모두 null이면 null을 반환합니다. 연산자 ||와 동일한 결과를 반환합니다.
concat('slobo','Svoboda') 사용자 이름을 선택하세요.
이중 사용자 이름lobo Syoboda에서
이니캡()
c1은 문자열입니다. 이 함수는 각 단어의 첫 글자를 대문자로 반환하고 나머지 글자는 소문자로 반환합니다. 단어는 공백, 제어 문자,
구두점 제한.
INITCAP('veni,vedi,vici') 선택 시저
듀얼CeasarVeni,Vedi,Vici에서
INSTR(,[,<i>[,]])
c1과 c2는 모두 문자열이고, i와 j는 정수입니다. 이 함수는 c1에서 c2가 j번째로 나타나는 위치를 반환하고 c1의 i번째 문자부터 검색을 시작합니다.
필요한 문자를 찾을 수 없으면 0이 반환됩니다. i가 음수인 경우 검색은 오른쪽에서 왼쪽으로 수행되지만 위치는 여전히 왼쪽에서 오른쪽으로 계산됩니다.
i와 j의 기본값은 1입니다.
SELECT INSTR('미시시피','i',3,3)
이중 INSTR('MISSISSIPPI','I',3,3)에서
11
INSTR('미시시피','i',-2,3)을 선택합니다.
이중 INSTR('MISSISSIPPI','I',3,3)에서
2
INSTRB(,[,i[,j])
바이트를 반환한다는 점을 제외하면 INSTR() 함수와 동일합니다. 단일 바이트의 경우 INSTRB()는 INSTR()과 같습니다.
길이()
c1은 문자열이고 c1의 길이가 반환됩니다. c1이 null이면 null 값이 반환됩니다.
LENGTH('Ipso Facto')를 선택하세요.
Dualergo10에서
LENGTHb()
LENGTH()와 마찬가지로 바이트를 반환합니다.
낮추다()
where 하위 문자열에 자주 나타나는 c의 소문자를 반환합니다.
LOWER(색상 이름)을 선택하세요.
항목 세부정보에서
WHERE LOWER(색상 이름) LIKE '%white%'COLORNAMEWinterwhite
LPAD(,<i>[,])
c1과 c2는 모두 문자열이고 i는 정수입니다. c2 문자열을 사용하여 c1의 왼쪽 길이 i를 보완합니다. 이는 여러 번 반복될 수 있습니다.
그런 다음 i만큼 c1 문자만 반환되고 나머지는 잘립니다. c2의 기본값은 단일 공백입니다. RPAD를 참조하세요.
LPAD(answer,7,'') 패딩 선택, 패딩되지 않은 답변 선택
질문에서;
PADDED UNPADDED 예 예아니요 아니요아마도 아마도
L트림(,)
첫 번째 문자가 c2에 없도록 c1에서 가장 왼쪽 문자를 제거합니다. c2가 없으면 c1은 변경되지 않습니다.
듀얼LTRppi에서 LTRIM('Mississippi','Mis')을 선택합니다.
RPAD(,<i>[,])
c2 문자열을 사용하여 c1의 오른쪽 길이 i를 보완합니다. 이는 여러 번 반복될 수 있습니다. i가 c1의 길이보다 작으면 i만큼 c1 문자만 반환됩니다.
다른 것들은 잘립니다. c2의 기본값은 단일 공백이고 나머지는 LPAD와 유사합니다.
RTRIM(,)
마지막 문자가 c2에 없도록 c1에서 가장 오른쪽 문자를 제거합니다. c2가 없으면 c1은 변경되지 않습니다.
바꾸다(,[,])
c1, c2, c3은 모두 문자열입니다. 이 함수는 c1에 나타나는 c2를 c3으로 바꾸고 반환합니다.
REPLACE('업타운','위','아래')를 선택하세요.
듀얼REPLACE다운타운에서
STBSTR(,<i>[,])
c1은 문자열이고, i와 j는 정수이며, c1의 i번째 위치부터 시작하여 j 길이의 하위 문자열이 반환되거나, j가 비어 있는 경우 문자열 끝까지 반환됩니다.
SUBSTR('메시지',1,4)을 선택하세요.
듀얼SUBSMess에서
SUBSTRB(,<i>[,])
I와 J가 바이트 단위로 계산된다는 점을 제외하면 SUBSTR과 거의 동일합니다.
사운드덱스()
c1과 비슷하게 들리는 단어를 반환합니다.
SOUNDEX('dawes') 도스 SOUNDEX('daws') 도스, SOUNDEX('dawson') 선택
DualDawes Daws DawsonD200 D200 D250에서
번역하다(,,)
c1의 동일한 문자를 c2와 c3으로 바꿉니다.
DualTEXTramble에서 TRANSLATE('fumble','uf','ar') 테스트를 선택하세요.
TRIM(c3의 [[]])
c3 문자열에서 첫 번째, 마지막 또는 둘 다를 삭제합니다.
듀얼 TRIMspace 패딩에서 TRIM('space padded') 트림을 선택하세요.
높은()
where 하위 문자열에 자주 나타나는 c1의 대문자 버전을 반환합니다.
UPPER(name) LIKE 'KI%'NAMEKING인 이중에서 이름을 선택하세요.
단일 행 숫자 함수 단일 행 숫자 함수는 숫자 데이터에 대해 작동하여 수학 및 산술 연산을 수행합니다. 모든 함수는 숫자 매개변수를 사용하고 숫자 값을 반환합니다.
모든 삼각 함수의 피연산자와 값은 각도가 아닌 라디안입니다. Oracle은 라디안 및 각도에 대한 내장 변환 기능을 제공하지 않습니다.
ABS()
n의 절대값을 반환합니다.
아코스()
역 보조 인자 함수는 -1과 1 사이의 숫자를 반환합니다. n은 라디안을 나타냅니다.
ACOS(-1) pi,ACOS(1) ZERO 선택
듀얼PI ZERO3.14159265 0에서
ASIN()
어쨌든 신비한 함수는 -1에서 1을 반환하고 n은 라디안을 나타냅니다.
아탄()
아크탄젠트 함수는 n의 아크탄젠트 값을 반환합니다. 여기서 n은 라디안을 나타냅니다.
CEIL()
n보다 크거나 같은 가장 작은 정수를 반환합니다.
코사인()
n의 공동값을 반환합니다. 여기서 n은 라디안입니다.
곤봉()
n의 쌍곡선 보조 인자를 반환합니다. 여기서 n은 숫자입니다.
COSH(<1.4>) 선택
듀얼COSH(1.4)2.15089847에서
경험치()
e의 n제곱인 e=2.71828183을 반환합니다.
바닥()
N보다 작거나 같은 가장 큰 정수를 반환합니다.
LN()
0보다 커야 하는 N의 자연 로그를 반환합니다.
통나무(,)
n1의 로그를 n2를 밑으로 반환합니다.
모드()
n1을 n2로 나눈 나머지를 반환합니다.
힘(,)
n1의 n2승을 반환합니다.
둥근(,)
n1의 값을 소수점 오른쪽 n2자리로 반올림하여 반환합니다. n2의 기본값은 0입니다. 이번에는 소수점 이하의 정수를 반올림합니다.
n2가 음수인 경우 소수점 왼쪽에 해당하는 숫자로 반올림됩니다. n2는 정수여야 합니다.
ROUND(12345,-2),ROUND(12345.54321,2)를 선택하세요.
FROM 듀얼ROUND(12345,-2) ROUND(12345.54321,2)12300 12345.54
징후()
n이 음수이면 -1이 반환되고, n이 양수이면 1이 반환되며, n=0이면 0이 반환됩니다.
죄()
n의 양수 값을 반환합니다. 여기서 n은 라디안입니다.
신()
n의 쌍곡선 양수 값을 반환합니다. 여기서 n은 라디안입니다.
SQRT()
n의 제곱근을 반환합니다. 여기서 n은 라디안입니다.
탠 껍질()
n의 탄젠트를 반환합니다. 여기서 n은 라디안입니다.
탄()
n의 쌍곡선 탄젠트를 반환합니다. 여기서 n은 라디안입니다.
트렁크(,)
n2의 기본 설정은 0입니다. n2가 기본 설정인 경우 n1은 정수로 잘립니다.
n2가 음수이면 소수점 왼쪽 해당 위치에서 잘립니다.
단일 행 날짜 함수
한 줄 날짜 함수는 DATA 데이터 유형에서 작동하며 대부분은 DATA 데이터 유형의 매개변수를 갖습니다.
반환되는 값의 대부분은 DATA 데이터 유형 값이기도 합니다.
ADD_MONTHS(,<i>)
날짜 d에 i개월을 더한 결과를 반환합니다. 나는 어떤 정수라도 될 수 있어요. 만약 내가 소수라면,
그런 다음 데이터베이스는 이를 암시적으로 정수로 변환하고 소수점 이하 부분을 자릅니다.
LAST_DAY()
함수는 d 날짜가 포함된 달의 마지막 날을 반환합니다.
MONTHS_BETWEEN(,)
d1과 d2의 날짜가 동일하거나 둘 다 해당 월의 마지막 날인 경우 d1과 d2 사이의 개월 수를 반환합니다.
그런 다음 정수가 반환됩니다. 그렇지 않으면 반환된 결과에 분수가 포함됩니다.
NEW_TIME(,,)
d1은 날짜 데이터 타입이며, tz1 시간대의 날짜와 시간이 d인 경우 tz2 시간대의 날짜와 시간을 반환합니다.
tz1과 tz2는 문자열입니다.
NEXT_DAY(,)
현재 세션에 제공된 언어를 사용하여 요일을 지정하는 dow에서 제공한 날짜 d 다음의 첫 번째 날을 반환합니다.
반환된 시간 구성 요소는 d의 시간 구성 요소와 동일합니다.
NEXT_DAY('2000년 1월 1일','월요일') "첫 번째 월요일"을 선택하고,
NEXT_DAY('2004년 11월 1일','화요일')+7 "두 번째 화요일")
이중에서;
첫 번째 월요일 두 번째 화요일2000년 1월 3일 2004년 11월 9일
둥근([,])
문자열인 fmt에 지정된 형식에 따라 날짜 d를 반올림합니다.
사다테
이 함수는 매개변수를 사용하지 않으며 현재 날짜와 시간을 반환합니다.
자르기([,])
fmt에 지정된 단위로 날짜 d를 반환합니다.
단일 행 변환 기능 단일 행 변환 기능은 여러 데이터 유형을 연산하고 데이터 유형 간 변환에 사용됩니다.
차터위드()
c는 문자열을 만들고, 함수는 c를 RWID 데이터 유형으로 변환합니다.
테스트_ID 선택
test_case에서
여기서 rowid=CHARTORWID('AAAA0SAACAAAALiAAA')
전환하다(,[,])
c tail string, dset 및 sset는 두 개의 문자 집합입니다. 이 함수는 문자열 c를 sset 문자 집합에서 dset 문자 집합으로 변환합니다.
sset의 기본 설정은 데이터베이스의 문자 집합입니다.
헥토로()
x는 16진수 문자열이고, 함수는 16진수 x를 RAW 데이터 유형으로 변환합니다.
RAWTOHEX()
x는 RAW 데이터 유형 문자열이며, 이 함수는 RAW 데이터 유형을 16진수 데이터 유형으로 변환합니다.
ROWIDTOCHAR()
ROWID 데이터 유형을 CHAR 데이터 유형으로 변환하는 함수입니다.
TO_CHAR([[,)
x는 데이터 또는 숫자 데이터 유형입니다. 이 함수는 x를 fmt에서 지정한 형식의 char 데이터 유형으로 변환합니다.
x가 날짜인 경우 nlsparm= NLS_DATE_LANGUAGE는 반환된 월과 일에 사용되는 언어를 제어합니다.
x가 숫자인 경우 nlsparm=NLS_NUMERIC_CHARACTERS는 통화 기호뿐만 아니라 소수점 및 천 단위 구분 기호를 지정하는 데 사용됩니다.
NLS_NUMERIC_CHARACTERS="dg", NLS_CURRENCY="문자열"
TO_DATE([,[,)
c는 문자열을 나타내고, fmt는 특수 형식의 문자열을 나타냅니다. fmt 형식으로 표시된 c를 반환하고, nlsparm은 사용된 언어를 나타냅니다.
이 함수는 문자열 c를 날짜 데이터 유형으로 변환합니다.
TO_MULTI_BYTE()
c는 문자열을 나타내며 함수는 c의 잘림 문자를 멀티바이트 문자로 변환합니다.
TO_NUMBER([,[,)
c는 문자열을 나타내고, fmt는 특수 형식의 문자열을 나타내며, 함수 반환 값은 fmt에서 지정한 형식으로 표시됩니다.
nlsparm은 언어를 나타내며 함수는 c가 나타내는 숫자를 반환합니다.
TO_SINGLE_BYTE()
문자열 c의 멀티바이트 문자를 동등한 싱글바이트 문자로 변환합니다.
이 함수는 데이터베이스 문자 집합에 단일 바이트 문자와 다중 바이트 문자가 모두 포함된 경우에만 사용됩니다.
기타 단일 라인 기능
B파일 이름(,)
dir은 디렉토리 유형의 객체이고, file은 파일 이름입니다. 이 함수는 빈 BFILE 위치 값 표시자를 반환합니다.
함수는 BFILE 변수 또는 BFILE 열을 초기화하는 데 사용됩니다.
풀다(,,[,,,[])
x는 표현식이고, m1은 일치하는 표현식이며, x는 m1과 비교되고, m1이 x와 같으면 r1이 반환되고, 그렇지 않으면 x가 m2와 비교됩니다.
그리고 결과가 반환될 때까지 m3, m4, m5....를 반복합니다.
덤프(,[,[,[,]]])
x는 표현식이나 문자이고, fmt는 8진수, 10진수, 16진수 또는 단일 문자를 나타냅니다.
이 함수는 x의 내부 표현에 대한 정보가 포함된 VARCHAR2 유형의 값을 반환합니다.
n1,n2가 지정되면 n1부터 시작하여 n2 길이의 바이트가 반환됩니다.
EMPTY_BLOB()
이 함수에는 매개변수가 없으며 빈 BLOB 위치 표시기를 반환합니다. BLOB 변수 또는 BLOB 컬럼을 초기화하는 데 사용되는 함수입니다.
EMPTY_CLOB()
이 함수에는 매개변수가 없으며 빈 CLOB 위치 표시기를 반환합니다. CLOB 변수나 CLOB 컬럼을 초기화하는 함수입니다.
최고()
exp_list는 가장 큰 표현식을 반환하는 표현식 목록입니다. 각 표현식은 암시적으로 첫 번째 표현식의 데이터 유형으로 변환됩니다.
첫 번째 표현식이 문자열 데이터 유형 중 하나이면 반환된 결과는 varchar2 데이터 유형입니다.
동시에 사용되는 비교는 공백이 없는 비교 유형입니다.
최소()
exp_list는 표현식 목록으로, 그 중에서 가장 작은 표현식을 반환합니다. 각 표현식은 암시적으로 첫 번째 표현식의 데이터 유형으로 변환됩니다.
첫 번째 표현식이 문자열 데이터 유형 중 하나인 경우 반환된 결과는 varchar2 데이터 유형입니다.
동시에 사용되는 비교는 공백이 없는 비교 유형입니다.
UID
이 함수에는 매개변수가 없으며 현재 데이터베이스 사용자를 고유하게 식별하는 정수를 반환합니다.
사용자
현재 사용자의 사용자 이름을 반환합니다.
사용자ENV()
opt 반환에 따라 현재 세션 정보가 포함됩니다. opt의 선택적 값은 다음과 같습니다.
SYSDBA 역할은 ISDBA 세션에서 응답하고 TRUE를 반환합니다.
SESSIONID는 감사 세션 식별자를 반환합니다.
ENTRYID는 사용 가능한 감사 항목 식별자를 반환합니다.
INSTANCE 세션이 연결된 후 인스턴스 식별자를 반환합니다.
이 값은 병렬 서버를 실행 중이고 여러 인스턴스가 있는 경우에만 사용됩니다.
LANGUAGE는 언어, 지역 및 데이터베이스 설정의 문자 집합을 반환합니다.
LANG은 언어 이름의 ISO 약어를 반환합니다.
TERMINAL 현재 세션에서 사용되는 터미널이나 컴퓨터의 운영 체제 식별자를 반환합니다.
V사이즈()
x는 표현식입니다. x가 내부적으로 표현하는 바이트 수를 반환합니다.
SQL의 그룹 함수는 집계 함수라고도 하며 여러 행을 기반으로 단일 결과를 반환합니다. 정확한 행 수는 확인할 수 없습니다.
쿼리가 실행되고 모든 결과가 포함되지 않는 한. 단일 행 함수와 달리 모든 행은 구문 분석 시 알려집니다.
이러한 차이로 인해 그룹 기능은 단일 행 기능과 요구 사항 및 동작이 약간 다릅니다.
그룹(다중 행) 기능 단일 행 기능과 비교하여 Oracle은 풍부한 그룹 기반 다중 행 기능 세트를 제공합니다.
이러한 함수는 select 또는 select의 have 절에서 사용할 수 있으며, 하위 문자열을 선택하는 데 사용될 때 GROUP BY와 함께 자주 사용됩니다.
AVG([{DISYINC|ALL}])
숫자 값의 평균을 반환합니다. 기본 설정은 모두입니다.
SELECT AVG(sal),AVG(ALL sal),AVG(DISTINCT sal)
FROM scott.empAVG(SAL) AVG(ALL SAL) AVG(DISTINCT SAL)1877.94118 1877.94118 1916.071413
개수({*|DISTINCT|모두} )
쿼리의 행 수를 반환합니다. 기본 설정은 ALL이며, *는 모든 행을 반환한다는 의미입니다.
MAX([{DISTINCT|모두}])
선택 목록 항목의 최대값을 반환합니다. x가 문자열 데이터 유형인 경우 VARCHAR2 데이터 유형을 반환합니다.
X가 DATA 데이터 유형인 경우 날짜를 반환하고, X가 숫자 데이터 유형인 경우 숫자를 반환합니다.
개별 및 모두에는 아무런 영향이 없으며 두 설정의 최대값은 동일해야 합니다.
최소([{DISTINCT|모두}])
선택 목록 항목의 최소값을 반환합니다.
STDDEV([{DISTINCT|ALL}])
선택기 목록 항목의 표준 편차를 반환합니다. 여기서 표준 편차는 분산의 제곱근입니다.
합계([{DIST|ALL}])
선택 목록 항목의 숫자 값의 합계를 반환합니다.
분산([{DISTINCT|모두}])
선택 목록 항목의 통계적 분산을 반환합니다.
GROUP BY를 사용하여 데이터를 그룹화합니다. 제목에서 알 수 있듯이 그룹 기능은 그룹화된 데이터에 대해 작동합니다.
SELECT 문의 SELECT 절에서 그룹 함수를 사용할 때 GROUP BY를 사용하여 데이터를 그룹화하거나 분류하는 방법을 데이터베이스에 알려줍니다.
GROUP BY 절에 그룹화되거나 상수가 아닌 열을 배치해야 합니다. 그룹 기준이 특수 처리에 사용되지 않는 경우
그러면 기본 분류는 전체 결과를 하나의 범주로 설정하는 것입니다.
통계, 카운터(*) zip_count 선택
zip_codes GROUP BY 상태에서;
ST ZIP_COUNT----------AK 360AL 1212AR 1309AZ 768CA 3982
이 예에서는 state 필드를 사용하여 분류합니다. zip_code에 따라 결과를 정렬하려면 ORDER BY 문을 사용할 수 있습니다.
ORDER BY 절은 열 또는 그룹 함수를 사용할 수 있습니다.
통계, 카운터(*) zip_count 선택
우편번호에서
GROUP BY 상태 ORDER BY COUNT(*) DESC;
ST 개수(*)---------NY 4312PA 4297TX 4123CA 3982
HAVING 절을 사용하여 그룹화된 데이터 제한
이제 쿼리의 SELECT 문과 ORDER BY 절에서 기본 함수를 사용하는 방법을 알았으므로 그룹 함수는 두 개의 하위 문자열에만 사용할 수 있습니다.
그룹 함수는 WHERE 하위 문자열에서 사용할 수 없습니다. 예를 들어 다음 쿼리는 잘못되었습니다.
실수
SELECT 매출_직원,SUN(판매_금액)
총판매액에서
WHERE sales_dept='OUTSIDE' AND SUM(sale_amount)>10000
GROUP BY 영업_직원
이 명령문에서 데이터베이스는 SUM()이 무엇인지 알지 못합니다. 데이터베이스에 행을 그룹화하고 그룹화된 행의 출력을 제한하도록 지시해야 하는 경우
올바른 방법은 HAVING 문을 사용하는 것입니다.
SELECT 매출_직원,SUN(판매_금액)
총판매액에서
sales_dept='외부'인 곳
GROUP BY 영업_직원
HAVING SUM(sale_amount)>10000;
중첩된 함수 함수는 중첩될 수 있습니다. 한 함수의 출력이 다른 함수의 입력이 될 수 있습니다. 피연산자에는 상속 가능한 실행 프로세스가 있습니다.
그러나 기능의 우선순위는 위치에 따라 결정될 뿐이며 기능은 내부에서 외부로, 왼쪽에서 오른쪽으로 원칙을 따릅니다.
네스팅 기술은 일반적으로 DECODE와 같이 논리적 판단문 IF...THEN...ELSE에 사용할 수 있는 기능에 사용됩니다.