SQL 입문 학습: UNION 키워드 사용법에 대한 간략한 분석
개발 과정에서 여러 쿼리 결과를 직접 표시하는 경우가 많습니다. 그렇다면 어떻게 쿼리해야 할까요? 이번 글은 SQL의 UNION 키워드와 사용법에 대해 알아보겠습니다.
SQL의 UNION 키워드는 여러 쿼리 조건의 결과를 표시합니다.
UNION
UNION의 중국어 의미는 합집합, 즉 둘 이상의 SELECT 문의 결과를 병합하는 것입니다. 사용 팁은 다음과 같습니다.
- UNION 내부의 각 SELECT 문에는 동일한 수의 열이 있어야 합니다.
- 열의 데이터 유형은 유사해야 합니다.
- 각 SELECT 문의 열 순서는 동일해야 합니다.
같은 개수의 컬럼
아래와 같이 앞 장에서 소개한 데이터를 데모 데이터로 사용
테이블을 별도로 생성합니다s_user
和表s_user_1
CREATE TABLE `s_user` ( `userid` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(255) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `pass_word` varchar(255) DEFAULT NULL, `salt` varchar(255) DEFAULT NULL, `state` varchar(255) DEFAULT NULL, `create_time` datetime DEFAULT NULL, PRIMARY KEY (`userid`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
테스트 데이터는 다음과 같습니다.
INSERT INTO `test`.`s_user`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (1, '小米', '小米', '123123', '123', '1', '2022-02-10 19:48:43'); INSERT INTO `test`.`s_user`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (2, '小白', '小白', '123123', '123', '1', '2022-02-10 19:48:43'); INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (1, '小红', '小红', '123123', '123', '1', '2022-02-10 19:48:43'); INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (2, '小黄', '小黄', '123123', '123', '1', '2022-02-10 19:48:43');
모든 SELECT 문 UNION 내부에는 동일한 개수의 컬럼이 있어야 합니다. 모든 컬럼을 쿼리하려면 먼저 동일한 컬럼으로 SQL
SELECT * FROM `s_user` UNION SELECT * FROM `s_user_1`
을 쿼리해야 합니다. 실행 결과는 다음과 같습니다.
첫 번째 쿼리가 모든 열에 대한 것이고 두 번째 쿼리가 세 개의 필드에 대한 것이라면 쿼리 결과는 무엇입니까? 이제 다음 SQL을 실행해 보세요. 메시지: 서로 다른 개수의 열을 쿼리하는 데 사용되는 SELECT 문입니다.
올바른 사용법
SELECT * FROM `s_user` UNION SELECT userid,name,pass_word FROM `s_user_1`

위에서 여러 쿼리의 열 개수는 동일해야 하며, 그 다음에는 열 개수가 동일해야 함을 확인했습니다. queried 동일한 쿼리 필드의 데이터 타입이 다른 경우 정상적으로 처리가 가능한가요? 다음으로 s_user 쿼리의 pass_word를 create_time으로 바꿔 쿼리합니다. 문의 후 보실 수 있습니다. SQL 쿼리에서 열의 데이터 유형은 관련이 없습니다. 물론 실제 비즈니스에서는 서로 다른 유형으로 설정되지는 않습니다.
SELECT userid,name,pass_word FROM `s_user` UNION SELECT userid,name,pass_word FROM `s_user_1`
열 순서
UNION 키워드를 사용하여 쿼리할 때 열의 순서와 관련이 있나요? 위에서 본 것처럼 열의 순서와 관련이 있을 수도 있고, 관련이 없을 수도 있는데, 그럼 테스트해 보겠습니다. 실행 결과는 컬럼의 순서와 아무런 관련이 없음을 알 수 있습니다. 실제 비즈니스에서는 여러 쿼리가 결합되므로 프로젝트에서 정의하는 열의 순서가 일관되어야 합니다.
SELECT userid,name,create_time FROM `s_user` UNION SELECT pass_word,name,userid FROM `s_user_1`
UNION과 UNION ALL의 차이점
UNION과 UNION ALL의 차이점을 테스트하려면 s_user_1 데이터 테이블에 [Xiaobai]를 추가해야 하고, s_user 테이블에 [Xiaobai]가 모두 존재해야 합니다. 데이터베이스에 저장하면 두 사람의 결과는 완전히 달라집니다.
SELECT create_time,userid,name FROM `s_user` UNION SELECT pass_word,name,userid FROM `s_user_1`
먼저 실행:
INSERT INTO `test`.`s_user_1`(`userid`, `user_name`, `name`, `pass_word`, `salt`, `state`, `create_time`) VALUES (3, '小白', '小白', '123123', '123', '1', '2022-02-10 19:48:43');
실행 결과:
다시 실행
SELECT user_name,name,pass_word,salt FROM `s_user` UNION SELECT user_name,name,pass_word,salt FROM `s_user_1`
실행 결과:
UNION 연관 항목이 제거된 것을 볼 수 있으며, UNION ALL 쿼리가 표시됩니다. 모든 값, 중복 항목은 제거되지 않았습니다.
결론
mysql 비디오 튜토리얼
위 내용은 SQL 입문 학습: UNION 키워드 사용법에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

blobstoresbinarydatalikeimages, 오디오, orpdfsasrawbyteswithcharacterencoding, whileclobstoreslargetextsuchasarticlesorjsonusingcharacterencoding likeutf-8andsupportsspringoperations;

useexistSforexistEnceChecks, 특히 whithLargeOrcecorratedSubqueriesand whoHennullValuesArePresent, AsitStOpStOpirStMatchAndLesnullsSafely; useInformembersHeCheckSagainstSmall, 알려진, Ornon-NULLVALUESETSWEREADEREADMATTORSOMPORMONCESISCORISCRI

thefirstdayoftheyearisobtingbirettructingortructingortructingortructingortructingortructingortructating andthelastdaysdecember31Stofthesameyear, withmethodsvaryingbydatabasesystem;

SQL 실행 컨텍스트는 SQL 문을 실행할 때 신원 또는 역할을 말하며, 이는 어떤 리소스 및 작업 권한에 액세스 할 수 있는지 결정합니다. 권한 설정은 최소 권한의 원칙을 따라야하며 공통 권한에는 선택, 삽입, 실행 등이 포함됩니다. 권한 문제를 해결하려면 로그인 이름, 역할 권한, 집행 인 설정 및 스키마 허가를 확인해야합니다. 컨텍스트 전환 수행은 집행 인을 통해 구현 될 수 있지만 사용자 존재, 허가 부여 및 성능 보안 영향에주의를 기울여야합니다. DB__OWNER 또는 SYSADMIN 역할을 임의로 할당하지 않는 것이 좋습니다. 신청 계정은 필요한 오브젝트에만 액세스하고 스키마를 통해 승인되어야합니다.

Aself-joinisusedtocomparerowswithinthesaMetable, SuleSinhierarchicalDatalikeEemployEre-ManagerRelations, ByTreatingTableStabestwoseparateSusingAsingaliases, asdemployEeesalongSideIdeIrmanagers'NamestoptoptopteoTointointointointointointointointointointointointointointointoine

THEALTERTABLESTEMENTISUSSISSESSEDTOMODIFYANESISTINGTABLE 'SSTRUCTURES와 OUTRECREATINT; 1. ADDANEWCOLUMNUSINGADDCOLUMN; 2. DROPACOLUMN withdropcolumn, whithalsodeletesitsdata; 3. renameacolumnusingrenamecolumn, withyntaxconsistentinmysql, sqlserver, andpostgresql; 4

보기를 만들기위한 구문은 createViewView_NameAsselect 문입니다. 2. 뷰는 실제 데이터를 저장하지 않지만 기본 테이블의 실시간 쿼리 결과를 기반으로합니다. 3. kreateorreplaceview를 사용하여보기를 수정할 수 있습니다. 4. 뷰는 DropView를 통해 삭제 될 수 있습니다. 5. 뷰는 복잡한 쿼리를 단순화하고, 데이터 액세스 제어를 제공하며, 인터페이스 일관성을 유지하는 데 적합하지만 성능과 논리에주의를 기울여야하며 마지막으로 완전한 문장으로 끝납니다.
