交叉连接cross join(笛卡尔积) 自然连接NATURAL JOIN
(等值连接) on连接 USING连接
可以用USING指定数据表里的同名字段进行等值连接 SELECT player_id, team_id, player_name, height, team_name FROM player JOIN team USING(team_id)
外连接 (左外left 右外join 全外full)全外=左右表匹配的数据+左表没有匹配到的数据+右表没有匹配到的数据。
自连接
建议sql99标准,逻辑性更强,类似于嵌套for循环
SELECT ...
FROM table1
JOIN table2 ON table1和table2的连接条件
JOIN table3 ON table2和table3的连接条件
查询不同身高级别(对应height_grades表)对应的球员数量`height_grades`player
SELECT h.`height_level`,COUNT(*)
FROM player p JOIN height_grades h
ON p.`height` BETWEEN h.`height_lowest` AND h.`height_highest`
GROUP BY h.`height_level`