北京SEO

mysql中关联查询sql语句

2019/10/10/17:33:20  阅读:2306  来源:谷歌SEO算法  标签: Safari浏览器

关联子查询是指一个包含对表的引用的子查询,该表也显示在外部查询中,通俗一点来讲,就是子查询引用到了主查询的数据数据.

以一个实际的例子来理解关联子查询:

left join:左连接,返回左表中所有的记录以及右表中连接字段相等的记录.

right join:右连接,返回右表中所有的记录以及左表中连接字段相等的记录.

inner join:内连接,又叫等值连接,只返回两个表中连接字段相等的行.

full join:外连接,返回两个表中的行:left join + right join.

cross join:结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数.

代码如下:

  1. declare@atable(aint,bint)
  2. declare@btable(aint,bint)
  3. insert@avalues(1,1)
  4. insert@avalues(2,2)
  5. insert@bvalues(1,1)
  6. insert@bvalues(3,3)
  7. select*from@a
  8. select*from@b--phpfensi.com
  9. --左:
  10. select*from@aAaleftjoin@bBbonAa.a=Bb.a
  11. --右:
  12. select*from@aAarightjoin@bBbonAa.a=Bb.a
  13. --内
  14. select*from@aAainnerjoin@bBbonAa.a=Bb.a
  15. --外:
  16. select*from@aAafulljoin@bBbonAa.a=Bb.a
  17. --交叉连接
  18. select*from@acrossjoin@b

关联子查询效率:

很明显,一般情况下关联子查询的效率是比较低下的,实际上本例中的关联子查询例子也仅是为了演示关联子查询的原理及用法,如果可以的话,关联子查询尽量使用 JOIN 或其他查询来代替,如本例中,使用 INNER JOIN 来替换的 SQL 为.SELECT article.* FROM article INNER JOIN user ON article.uid = user.uid

注意:此处只是为了演示用 INNER JOIN 替换关联子查询的样例,并非表名这种处理是最优处理.

广告内容

mysql中关联查询sql语句 mysql中关联查询sql语句 mysql中关联查询sql语句

相关阅读

热门评论

SEO研究中心 SEO研究中心

SEO研究中心提供免费SEO公开课

总篇数170

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法