大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
1. 自然连接(*natural join)*
自然连接不用指定连接列,也不能使用ON语句,它默认比较两张表里相同的列,
`SELECT*FROM student NATURAL JOIN score;`
显示结果如下:
2. 内连接(inner join)
和自然连接区别之处在于内连接可以自定义两张表的不同列字段。
内连接有两种形式:显式和隐式。
例:以下语句执行结果相同。
①隐式的内连接,没有INNER JOIN,形成的中间表为两个表的笛卡尔积。
SELECT student.
name,score.
codeFROM student,score WHERE score.
code=student.
code;
② 显示的内连接,一般称为内连接,有INNER JOIN,形成的中间表为两个表经过ON条件过滤后的笛卡尔积。
SELECT student.
name,score.
codeFROM student INNER JOIN score ON score.
code=student.
code;
3.外连接(outer join)
①左外连接(left outer join):返回指定左表的全部行+右表对应的行,如果左表中数据在右表中没有与其相匹配的行,则在查询结果集中显示为空值。
例:SELECT student.
name,score.
codeFROM student LEFT JOIN score ON score.
code=student.
code;
查询结果如下:
②右外连接(right outer join):与左外连接类似,是左外连接的反向连接。
SELECT student.
name,score.
codeFROM student RIGHT JOIN score ON score.
code=student.
code;
②全外连接(full outer join):把左右两表进行自然连接,左表在右表没有的显示NULL,右表在左表没有的显示NULL。(MYSQL不支持全外连接,适用于Oracle和DB2。)
在MySQL中,可通过求左外连接与右外连接的合集来实现全外连接。
例:
SELECT student.
name,score.
codeFROM student LEFT JOIN score ON
code
score.=student.
codeUNION SELECT student.
name,score.
codecode
FROM student RIGHT JOIN score ON score.=student.
code;
4.交叉连接(cross join):相当与笛卡尔积,左表和右表组合。
SELECT student.name
,score.code
FROM student CROSS JOIN score ON score.code
=student.code
;
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/178803.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...