mysql 在连接表中的要点

思路:分析需求,分析字段来自哪些表 (连接查询)

           确定使用哪种连接查询?  确定交叉点(这两个表中哪些数据是相同的)

           判断条件 such as  学生表中的studentNO = 成绩表中studentNO(记得要加别名)

           

连接三张表

SELECT s.`StudentNO`,`StudentResult`,`StudentName`,`SubjiectName`

FROM `student` s
INNER JOIN `result` r
ON s.`StudentNO`=r.`StudentNO`
INNER JOIN `subject` sub
WHERE r.`SubjectNO`=sub.`SubjectNO`

所有的字符都要是英文的 

要给表起别名 方便  用as or 空格

在连接三张表以上时提供一种思路:假设存在一种多张表查询,慢慢来不要想着一口吃成一个大胖子。先查询两张表然后再慢慢加

 

SELECT s.`StudentNO`,`StudentResult`,`StudentName`
FROM `student` s
RIGHT(left) JOIN `result` r

ON s.`StudentNO`=r.`StudentNO`

左和右是不一样的

left join :会从左表中返回所有的表,即使右表没有匹配

right join :会从右表中返回所有的表,即使左表没有匹配

                         ------仅供参考

posted @ 2021-09-02 19:03  故y  阅读(44)  评论(0)    收藏  举报