重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
多表查询是指基于两个和两个以上的表或是视图的查询.在实际应用中,查询单个表可能不能满足你的需求,(如显示sales部门位置和其员工的姓名),这种情况下需要使用到(dept表和emp表)
成都创新互联公司专业为企业提供武乡网站建设、武乡做网站、武乡网站设计、武乡网站制作等企业网站建设、网页设计与制作、武乡企业网站模板建站服务,十余年武乡做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
自连接是指在同一张表的连接查询
select * from emp where empno=(select mgr from emp where ename='ford');
子查询是指嵌入在其它sql查询语句中的select语句,也叫嵌套查询
单行子查询是 指只返回一行数据的子查询语句
select * from emp where deptno=(select deptno from emp where ename='smith');
多行子查询指返回多行数据的子查询 使用关键字 in
如果我们的一个子查询,返回的 结果是多列,就叫做列子查询
合并多个select语句的结果,可以使用集合操作符 union,union all
满外连接的结果 = 左右表匹配的数据 + 左表没有匹配到的数据 + 右表没有匹配到的数据。
SQL99是支持满外连接的。使用FULL JOIN 或 FULL OUTER JOIN来实现。
需要注意的是,MySQL不支持FULL JOIN,但是可以用 LEFT JOIN UNION RIGHT join代替。
我觉得:
表结构不同的话,用你的方法比较好,速度快。
写成这样:select count(*) from `b` where `nid` = '123';
直接统计出数目了
2.表结构相同的话:
写成这样select count(*) from `a` where `nid` = '123' UNION ALL select count(*) from `b` where `nid` = '123';