SQL 문에서 as를 사용하는 방법
하위 쿼리 부분이라고도 하는 WITH AS 구문은 전체 SQL 문에서 사용되는 SQL 조각을 정의할 수 있습니다. SQL문을 읽기 쉽게 만들 수도 있고, UNION ALL의 다양한 부분에서 데이터를 제공하는 부분으로 사용할 수도 있습니다.
– 하나의 별칭용
with tmp as (select * from tb_name)
– 여러 개의 별칭용
with tmp as (select * from tb_name), tmp2 as (select * from tb_name2), tmp3 as (select * from tb_name3), …
– e 임시 테이블을 만드는 것과 동일
with e as (select * from scott.emp e where e.empno=7499) select * from e;
– e 및 d 임시 테이블을 만드는 것과 동일
with e as (select * from scott.emp), d as (select * from scott.dept) select * from e, d where e.deptno = d.deptno;
은 실제로는 큽니다. 힙에서 반복적으로 사용되는 항목은 as에 배치되고 별칭이 제공되므로 후속 쿼리에서 이를 사용할 수 있습니다. 이는 대규모 SQL 문 배치에서 최적화 역할을 하며 명확합니다.
테이블에 데이터를 삽입하는 사용법으로
insert into table2 with s1 as (select rownum c1 from dual connect by rownum <= 10), s2 as (select rownum c2 from dual connect by rownum <= 10) select a.c1, b.c2 from s1 a, s2 b where…;
select s1.sid, s2.sid from s1, s2에는 관련 조건이 있어야 합니다. 그렇지 않으면 결과는 데카르트 곱이 됩니다.
가상 보기와 동일합니다.
하위 쿼리 인수분해라고도 하는 as 구문을 사용하면 많은 작업을 수행하고 전체 SQL 문에서 사용할 SQL 조각을 정의할 수 있습니다. 때로는 SQL 문을 더 읽기 쉽게 만들기 위한 것일 수도 있고, 데이터를 제공하는 부분과 Union all의 다른 부분에 있을 수도 있습니다.
특히 모든 노동조합에 유용합니다. Union의 각 부분은 모두 동일할 수 있지만 각 부분을 한 번만 실행하면 비용이 너무 높으므로 한 번만 실행하면 되는 with 구문을 사용하면 됩니다. with as 구문으로 정의된 테이블 이름이 두 번 이상 호출되면 최적화 프로그램은 with as 구문으로 얻은 데이터를 자동으로 임시 테이블에 넣습니다. 프롬프트 구체화는 with as 구문의 데이터를 전역 임시 테이블에 강제로 배치합니다. 이런 방식으로 많은 쿼리의 속도를 높일 수 있습니다.
with sql1 as (select to_char(a) s_name from test_tempa), sql2 as (select to_char(b) s_name from test_tempb where not exists (select s_name from sql1 where rownum=1)) select * from sql1 union all select * from sql2 union all select ‘no records’ from dual where not exists (select s_name from sql1 where rownum=1) and not exists (select s_name from sql2 where rownum=1);
WITH 문의 장점:
(1) SQL 가독성이 향상됩니다. 예를 들어 하위 쿼리 등을 사용하여 특정 항목에 의미 있는 이름을 지정합니다.
(2) with 하위 쿼리는 한 번만 실행되며 결과는 성능 향상을 위해 여러 번 참조될 수 있는 사용자 임시 테이블 공간에 저장됩니다.
예: EXCEL을 가져오는 과정에서 데이터를 임시 테이블에 저장해야 하는 경우가 있습니다. 다음 번 가져오기를 수행할 때 임시 테이블의 데이터가 지워지는 경우가 있습니다. 그러나 이 때 동시성 문제가 발생하는 경우가 있습니다. 두 명의 사용자가 서로의 데이터를 개별적으로 조작할 수 있으므로 혼동이 발생할 수 있습니다. 그러나 오류 정보를 내보내야 하는 경우에는 WITH 함수와 UNION 문을 사용하여 SQL 문을 연결할 수 있습니다. 이 문은 데이터를 구성합니다.
관련 추천: "mysql 튜토리얼"
위 내용은 SQL 문에서 as를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











HQL과 SQL은 Hibernate 프레임워크에서 비교됩니다. HQL(1. 객체 지향 구문, 2. 데이터베이스 독립적 쿼리, 3. 유형 안전성), SQL은 데이터베이스를 직접 운영합니다(1. 데이터베이스 독립적 표준, 2. 복잡한 실행 파일) 쿼리 및 데이터 조작).

"OracleSQL의 나눗셈 연산 사용법" OracleSQL에서 나눗셈 연산은 일반적인 수학 연산 중 하나입니다. 데이터 쿼리 및 처리 중에 나누기 작업은 필드 간의 비율을 계산하거나 특정 값 간의 논리적 관계를 도출하는 데 도움이 될 수 있습니다. 이 문서에서는 OracleSQL의 나누기 작업 사용법을 소개하고 구체적인 코드 예제를 제공합니다. 1. OracleSQL의 두 가지 분할 연산 방식 OracleSQL에서는 두 가지 방식으로 분할 연산을 수행할 수 있습니다.

Oracle과 DB2는 일반적으로 사용되는 관계형 데이터베이스 관리 시스템으로, 각각 고유한 SQL 구문과 특성을 가지고 있습니다. 이 기사에서는 Oracle과 DB2의 SQL 구문을 비교 및 차이점을 설명하고 구체적인 코드 예제를 제공합니다. 데이터베이스 연결 Oracle에서는 다음 문을 사용하여 데이터베이스에 연결합니다. CONNECTusername/password@database DB2에서 데이터베이스에 연결하는 문은 다음과 같습니다. CONNECTTOdataba

SQL에서 ID란 무엇입니까? SQL에서 ID는 자동 증가 숫자를 생성하는 데 사용되는 특수 데이터 유형으로, 테이블의 각 데이터 행을 고유하게 식별하는 데 사용됩니다. ID 열은 일반적으로 기본 키 열과 함께 사용되어 각 레코드에 고유한 식별자가 있는지 확인합니다. 이 문서에서는 Identity를 사용하는 방법과 몇 가지 실제 코드 예제를 자세히 설명합니다. Identity를 사용하는 기본 방법은 테이블을 생성할 때 Identit을 사용하는 것입니다.

MyBatis 동적 SQL 태그 해석: Set 태그 사용법에 대한 자세한 설명 MyBatis는 풍부한 동적 SQL 태그를 제공하고 데이터베이스 작업 명령문을 유연하게 구성할 수 있는 탁월한 지속성 계층 프레임워크입니다. 그 중 Set 태그는 업데이트 작업에서 매우 일반적으로 사용되는 UPDATE 문에서 SET 절을 생성하는 데 사용됩니다. 이 기사에서는 MyBatis에서 Set 태그의 사용법을 자세히 설명하고 특정 코드 예제를 통해 해당 기능을 보여줍니다. Set 태그란 무엇입니까? Set 태그는 MyBati에서 사용됩니다.

1. Maven 프로젝트에 com.github.ulisesbocchiojasypt-spring-boot-starter2.1.02 종속성을 도입하는 동시에 도구가 암호화 또는 암호화에 이 비밀번호를 사용하므로 application.yml 구성 파일에서 비밀번호를 구성해야 합니다. 따라서 구성이 보장되어야 합니다. 암호화된 문자열은 동일한 비밀번호를 사용하여 암호화됩니다. 그렇지 않으면 프로젝트가 시작될 때 해독될 수 없습니다. jasypt:encryptor:password:1234563. 테스트 케이스에서는 원본 정보를 암호화할 수 있습니다. 사용 방법은 매우 간단합니다. 간단한 데모는 다음과 같습니다: @RunWith(SpringRunner

배경: 회사의 요구 사항 중 하나는 회사의 기존 링크 추적 로그 구성 요소가 MySQL의 SQL 실행 시간 인쇄를 지원해야 한다는 것입니다. 링크 추적을 구현하는 일반적인 방법은 타사 프레임워크 또는 도구에서 제공하는 인터셉터 인터페이스 또는 필터 인터페이스를 구현하는 것입니다. MySQL도 예외는 아닙니다. 사실 MySQL은 MySQL에 의해 구동되는 인터셉터 인터페이스를 구현합니다. MySQL을 구체적으로 구현하는 채널에는 다양한 버전이 있고, 버전마다 인터셉터 인터페이스가 다르기 때문에 사용 중인 MySQL 드라이버의 버전에 따라 응답 인터셉터를 구현해야 합니다. 다음으로 MySQL 채널 5를 소개하겠습니다. 각각 6개 버전 구현. 여기서는 Statem을 구현하기 위한 예로 MySQL 채널 5.1.18 버전을 사용하여 MySQL5를 구현했습니다.

해결 방법: 1. 로그인한 사용자에게 데이터베이스에 액세스하거나 운영할 수 있는 충분한 권한이 있는지 확인하고 해당 사용자에게 올바른 권한이 있는지 확인하십시오. 2. SQL Server 서비스 계정에 지정된 파일에 액세스할 수 있는 권한이 있는지 확인하십시오. 3. 지정된 데이터베이스 파일이 다른 프로세스에 의해 열렸거나 잠겼는지 확인하고 파일을 닫거나 해제한 후 쿼리를 다시 실행하십시오. .관리자로 Management Studio를 실행해 보세요.
