SQL에서 CaseWhen 사용법
CASE WHEN 문은 조건에 따라 다른 값을 반환하는 데 사용됩니다. 조건 지정: 평가할 조건을 결정합니다. 결과를 지정합니다. 조건이 true인 경우 반환되는 값입니다. ELSE 절 지정: true인 조건이 없으면 기본값이 반환됩니다(선택 사항).
SQL에서 CASE WHEN 문 사용
CASE WHEN 문은 지정된 조건에 따라 다른 값을 반환하는 데 사용되는 SQL 쿼리 언어의 조건식입니다. 구문은 다음과 같습니다:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END
사용 단계:
- 조건(condition) 지정: 평가할 조건을 결정합니다.
- 결과 지정(result): 조건이 true인 경우 반환되는 값입니다.
- ELSE 절 지정: 조건이 true가 아닌 경우 기본값을 반환합니다(선택 사항).
예:
SELECT CASE WHEN age > 18 THEN '成年' WHEN age >= 13 AND age <= 18 THEN '青少年' ELSE '儿童' END AS age_category FROM students;
결과:
학생 ID | 이름 | 나이 | 연령 카테고리 |
---|---|---|---|
1 | John | 20 | 성인 |
1 | NULL 값 반환: | 조건이 true가 아닌 경우 ELSE 절 Is NULL을 설정하여 null 값을 반환할 수 있습니다.중첩된 CASE WHEN 문: | CASE WHEN 문은 더 복잡한 조건을 처리하기 위해 중첩될 수 있습니다.|
CASE 표현식을 필터 조건으로 사용: | WHERE 절에서 CASE 표현식을 사용하여 데이터를 필터링할 수 있습니다.이점: |
서버가 여러 IF-THEN 문을 실행할 필요가 없으므로 쿼리 성능이 향상됩니다. SQL 쿼리의 다양한 상황을 처리하는 간결한 방법을 제공합니다.
위 내용은 SQL에서 CaseWhen 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

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

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

Stock Market GPT
더 현명한 결정을 위한 AI 기반 투자 연구

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SQL의 여러 열을 하나의 열로 병합하려면 문자열 스 플라이 싱 함수를 사용하고 NULL 값을 처리해야합니다. 특정 메소드는 데이터베이스에 따라 다릅니다. 1. mysql은 concat () 함수를 사용합니다. 2. PostgreSQL은 concat () 또는 ||를 지원합니다 연산자; 3. SQLServer는 concat () 또는 연산자를 지원합니다. 4. Oracle과 Sqlite는 ||를 사용합니다 Oracle의 Concat ()가 두 매개 변수 만 지원하는 연산자; 5. NULL을 피하기 위해 NULL을 피하기 위해 Coalesce (), ifnull () 또는 isnull ()을 사용하여 NULL을 빈 문자로 변환하거나 자동으로 NULL을 처리 할 수있는 conc를 직접 사용해야합니다.

IN 연산자를 사용하여 열을 선택*Fromployeeswheredepartment_idin (1,2,3)과 같은 여러 값과 효율적으로 비교하십시오. 여러 값이 제외되면 NOTIN을 사용하지만 결과에 영향을 미치는 NULL에주의하십시오.

스테스트 함수는 문자열에서 지정된 위치와 길이의 문자를 삭제하고 새 문자를 삽입하는 데 사용됩니다. 1. 예를 들어, 스테일 ( '123-456-7890', 5, 3, 'xxx')은 '123-xxx-7890'을 반환합니다. 2. 삽입물 ( 'helloworld', 6, 0, 'beautiful')과 같은 길이를 0으로 설정하여 'hellobeautifulworld'; 3. 빈 문자를 교체하여 thits ( 'abcdef', 2, 3, '')와 같은 문자를 삭제하십시오. 4. 신용 카드 번호에 공백을 추가하여 '1234567890123456'과 같은 복잡한 형식을 위해 중첩 될 수 있습니다.

TocopyBothStructureAndData, useCreatetAblenew_tableAsselectfromOriginal_tableInpostgresql, oracle, andselectintonew_tabl efromoriginal_tableInsqlServer, thatconstraintsandindexesarenotcopied.2.tocopyOnlythructureWithoutData, usecreatetable

특정 열 이름이 포함 된 모든 테이블을 찾으려면 시스템 메타 데이터 테이블을 쿼리하여 수행 할 수 있습니다. 가장 일반적인 방법은 information_schema.columns를 사용하는 것입니다. 1. 표준 SQL에서 selectTable_namefrominformation_schema.columnswherecolumn_name = 'your_column_name'을 실행하여 지정된 열의 모든 테이블 이름을 반환하십시오. 특정 스키마 또는 데이터베이스를 정의 해야하는 경우 table_schema 또는 table_catalog 조건을 추가 할 수 있습니다. 2. SQLServer에서는 Sys.Columns 및 Sys.ta를 사용할 수 있습니다

하위 쿼리는 다른 쿼리에 중첩 된 쿼리입니다. 그들은 간단한 일회성 계산에 적합하며, 선택,에서 또는 시점에 위치 할 수 있습니다. 2. CTE는 복잡한 쿼리의 가독성을 향상시키고 재귀 및 다중 참조를 지원하기 위해 조항으로 정의됩니다. 3. 하위 쿼리는 단일 사용에 적합하며 CTE는 명확한 구조, 재사용 또는 재귀가 필요한 시나리오에 더 적합합니다.

anon-equijoinusescopisonoperators winder ween, or! =, 또는! = tomatchrowsbetweentables.2.plisuseFulforRangeComparisonSsuchassalaryordateranges.3.syntaxinvolvesspecifingConditionSintheonTheconconditionSinTheonConconconditionSinTheonConconConditionSinTheonforSalargrades.4

UselimitOffSetWithDistInmySinMysIcl/postgresql, uselimitOffSetWithDeAtRearsinMySkl/postgresql, hefturetareArdledByskippingn-1RowsNDETHENTHENXTUNIQUESALARY.2.AppLYROW_NUMBER () InMODERNSQLDATABASES whenStrictrownumberingIseeded, butnoteStong antOntsontOntOdUtoDuploTeNneediede
