详解mysql语法left join,right join,inner join_MySQL
bitsCN.com
详解mysql语法left join,right join,inner join
测试表用户表user:
测试表密码表pwd:
1、创建user表:
1
CREATE TABLE `user` (
2
`id` int(11) NOT NULL auto_increment,
3
`name` varchar(255) default NULL,
4
`password` varchar(255) default NULL,
5
PRIMARY KEY (`id`)
6
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、创建pwd表:
1
CREATE TABLE `pwd` (
2
`id` int(11) NOT NULL auto_increment,
3
`userid` int(11) default NULL,
4
`passwd` varchar(255) default NULL,
5
PRIMARY KEY (`id`)
6
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3、使用inner join 将pwd表中的passwd填入到user表中的password列(根据userid),SQL语句:
1
UPDATE `user` U
2
INNER JOIN `pwd` P
3
ON P.userid=U.id
4
SET U.password = P.passwd;
4、 left join(左联接) 查询user中的信息
1
SELECT us.*,pw.* FROM `user` us
2
LEFT JOIN pwd pw
3
ON pw.userid=us.id;
结果:
说明:
left join是以User表的记录为基础的,User可以看成左表,pwd可以看成右表,left join是以左表为准的.
换句话说,左表(User)的记录将会全部表示出来,而右表(pwd)只会显示符合搜索条件的记录(例子中为: pw.userid=us.id).
B表记录不足的地方均为NULL.
5、left join(左联接) 查询pwd中的信息
1
SELECT us.*,pw.* FROM `user` us
2
RIGHT JOIN pwd pw
3
ON pw.userid=us.id;
结果:
说明:
和left join的结果刚好相反,这次是以右表(pwd)为基础的,user表不足的地方用NULL填充.
6、inner join(相等联接或内联接)
1
SELECT us.*,pw.* FROM `user` us
2
inner JOIN pwd pw
3
ON pw.userid=us.id;
结果:
说明:
很明显,这里只显示出了 pw.userid=us.id的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.
bitsCN.com

핫 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)

뜨거운 주제











Xiaohongshu 계정을 사용하여 사용자를 찾는 방법은 무엇입니까? 내 휴대폰 번호를 찾을 수 있나요?

Windows 11에서 계속하려면 관리자 사용자 이름과 비밀번호를 입력하라는 메시지가 표시되는 문제를 해결하는 방법은 무엇입니까?

휴대폰을 사용하여 라우터 WiFi 비밀번호를 설정하는 방법(휴대폰을 도구로 사용)

Huawei 휴대폰에서 듀얼 시스템 간을 전환하고 비밀번호를 재설정하는 방법
