美文网首页JAVA 相关
mysql数据库高级查询

mysql数据库高级查询

作者: 琴匣自鸣 | 来源:发表于2018-04-21 16:01 被阅读33次

    1.exists 子查询:用来判断是否存在,例如
                                  (1)create table if exsits school(....)判断school表是否存在   
                                  (2)select * from school where exists(子查询)  
                                            子查询有返回结果,exists判断为true,外层父级查询执行。
                                            子查询无返回结果,exists判断为false,外层父级查询不执行 。


    2.多表连接查询:
                分为三种 内连接 inner join
                                 右外链接 right join
                                 左外链接 left join                                                                                                                              (1)内连接例子:

    从表student和studentResult连表查询得出查询结果

    select s.student,s.studentName,sr.subject,sr.studentResult from student as s inner join studengResulet as sr on(s.studentNO=sr.studentNO);
    语句解释:  从student和studentResult表格查询student等几个字段,设student表别名s 设studengResult表别名为 sr 条件是student表的studentNo和student表的studentNO字段相等

    三表联查

    (2)左联例子:

    左联查询

    SELECT S.studentName,R.subjectNo,R.studentResult
    FROM student AS S
    LEFT JOIN result AS R
    ON S.studentNo = R.studentNo;

    简单来说 join左侧表对应字段去匹配右侧表字段,S.studentNO第一个匹配右侧R.student,S编号1匹配右侧R表匹配第一个成功没有第二个编号1那么结束,S表编号2匹配R表编号2,匹配到第一条数据,然后匹配到第二条数据,继续匹配数据,匹配不到结束,进行编号3的匹配。
    (3)右连查询与左联查询相反

    相关文章

      网友评论

        本文标题:mysql数据库高级查询

        本文链接:https://www.haomeiwen.com/subject/lmvikftx.html