MySql数据库与JDBC编程三

多表连接查询(两种规范 SQL92和SQL99)

  SQL92规范:

    等值连接,非等值连接,外连接,广义笛卡儿积连接

    多个表都放在from后,,连接条件放在where后,条件要求两列值相等,则为等值连接,否则为非等值连接,没有条件的话为广义笛卡儿积连接

    多表查询过程可以理解为嵌套的循环,判断两个表的两列是否满足连接条件

    如果需要对记录进行过滤,则将过滤条件和连接条件用and连接

    外连接就是在外连接符所在的表中增加一个万能行,这行记录的所有数据均为null,该行可以和另外表中不满足条件的记录进行匹配

  SQL99规范:

    交叉连接:效果就是笛卡儿积连接,,,,cross join t_table t;

    自然连接:natural join t_table t;以同名列名作为连接,,如果没有同名列名,效果同交叉连接

    using句子连接:join Table using(列名)显示指定使用哪些同名列作为连接

    on语句来指定连接条件

    左右全外连接:right/left/full join

 

 

子查询:在查询语句中嵌套另一个查询

  可以出现的位置:from 后面,当成数据表

          where 后面作为过滤条件的值

  使用子查询要注意:子查询要用括号括起来

           子查询作为数据表时,可以为子查询起别名,尤其作为前缀来限定

 

 

集合运算,,,,,

 

 

  

    

  

posted @ 2018-03-22 17:58  笑谭枫昇  阅读(92)  评论(0编辑  收藏  举报