一.内连接查询:一般进行两表连接查询
select A inner join B on A.主键ID=B.外键ID
二.外连接查询 :外连接主要包括左连接、右连接和完整外部连接
1.左查询: 左连接的结果集包括LEFT OUTER子句中指定的左表的所有行作为基准表,而不仅仅是联接列所匹配的行
2.右查询:如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(Null)。
*一般都用外连接查询,当时用内连接查询时 ,如果学生没来考试时查询结果将没有学生的任何信息,当时用左查询时 ,将以左边的表的所有内容作为基准表,搜索B表相匹配的内容。
Select A.name,B.score from A Left Join B on A.id=B.id和
----Select A.name,B.score from B Right Join A on B.id=A.id执行后的结果是一样的。
三.交叉连接查询:"交叉连接"后得到的结果跟线性代数中的"笛卡尔乘积"一样。(一般用于生成大量测试数据)
select * from t1 cross join t2 cross join t3;
四.内查询:表内查询(一般用于在一张表内查询相同的,后面可以加查询条件id不为同一个)
SELECT * FROM A INNER JOIN A WHERE A.ID<>B.ID