内连接(INNER JOIN) :只连接匹配的行
左外连接( LEFT JOIN 或LEFT OUTER JOIN) :包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行
右外连接( RIGHT JOIN 或RIGHT OUTER JOIN) :包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行
全外连接( FULL OUTER JOIN ) :包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行
交叉连接 生成笛卡尔积-它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与另一个数据源的每个行都一一匹配( 开发中避免使用 )
内连接inner join的举例说明 :
select * from t_institution i
inner join t_teller t
on i.inst_no = t.inst_no
where i.inst_no = "5801"
其中inner可以省略
等价于早期的连接语法
select * from t_institution i, t_teller t
where i.inst_no = t.inst_no
and i.inst_no = "5801"
左外连接left outer join的举例说明:
select * from t_institution i
left outer join t_teller t
on i.inst_no = t.inst_no
其中outer可以省略
右外连接right outer join的举例说明:
select * from t_institution i
right outer join t_teller t
on i.inst_no = t.inst_no
其中outer可以省略
全外连接full outer join的举例说明:
select * from t_institution i
full outer join t_teller t
on i.inst_no = t.inst_no
mysql连接分成:内连接、左外连接leftjoin和右外连接right
join!
由于连接的记录,可能是一方不存在的!(两条记录中,可能某条不存在)
内连接:只有两个表相匹配的行才能在结果集中出现。也就是说,当某个表中多出一条记录的时候,这条记录与另一个表不能相互匹配的时候,不匹配的记录就不会出现在结果中!
外连接:左外连接、右外连接
注意好左外与右外的区别:
区别在于,那个表的记录(指的是连接失败的记录),会最终出现在连接结果内?
什么是左表和右表?
join关键字前面的(左边的)左表,join关键字后边的(右边的)右表!
左外:如果出现左表记录连接不上右表记录的,左表记录会出现正在最终的连接结果内!而右表记录相应设置成NULL。
右外:如果出现右表记录连接不上左表记录的,右表记录会出现正在最终的连接结果内!而左表记录相应设置成NULL。
总结:内连接,外连接差别不大,只是外连接会将没有连接成功的记录,也出现最终的连接的结果内,而内连接,连接的结果只有连接成功的(两条记录都存在的)
因此,可以交换表的位置,达到使用left与right
join
混用的的目的!
问题:
统计每个班级内,学生的数量!,在班级列表内:
班级名,教室,学生数量
注意,外连接应该有条件!
主要是left join,inner join,right join,full join,分别是左连接,内连接,右连接,还有全连接。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
扩展资料:
应用环境:
与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为 *** 作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。
参考资料来源:百度百科-mySQL
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)