数据库表的连接方式
数据库表的连接方式主要有以下几种:
1. 内连接(INNER JOIN):用比较运算符比较要连接的列的值的连接,不匹配的行不会被显示。内连接只返回两个表中共有的行,即两个表中连接字段的值相等的行。
2. 左外连接(LEFT JOIN):返回左表中的所有行,以及右表中连接字段的值和左表相等的行。如果右表中没有符合条件的行,则返回 NULL 值。
3. 右外连接(RIGHT JOIN):返回右表中的所有行,以及左表中连接字段的值和右表相等的行。如果左表中没有符合条件的行,则返回 NULL 值。
4. 全连接(FULL OUTER JOIN):返回左右两个表中的所有行,并将左表和右表中连接字段的值相等的行合并成一行。如果左表或右表中没有符合条件的行,则返回 NULL 值。
5. 交叉连接(CROSS JOIN):没有where条件的交叉连接将产生连接表所涉及的笛卡尔积,即TableA的行数*TableB的行数的结果集。如果带where,返回或显示的是匹配的行数。
6. 联合查询(UNION和UNION ALL):UNION会把结果集中重复的记录删掉,而UNION ALL会把所有的记录返回,且效率高于UNION。