SQLCookbook 学习笔记 3操作多个表
来源:互联网 发布:怎么订购淘宝视频服务 编辑:程序博客网 时间:2024/05/22 05:03
记录集叠加
mysql> select name from menpiao_2015 where num = '12' union all select user_mobile from user_info_bd where user_mobile = '13126512870';
需要注意的是 所有表项中 的项目数 和 对应的数据类型 必须匹配。
组合相关的行
select name , package_name from mcp_content a, mcp_content_appinfo b where b.c_id = a.id and a.id = 63039;
连表查询
还有一种方案是 内连接 inner join
select name ,package_name from mcp_content a inner join mcp_content_appinfo b on a.id = b.c_id
where a.id = 63039
这将 连接的逻辑 放在了 FROM 子句中,而不是where子句中。
在SQL中
TRUE or NULL 结果是 TRUE
FALSE or NULL 结果是 NULL
外连接 可以返回一个表中所有的行 ,以及另一个表中 匹配到的行。
或者使用 标量子查询
select e.name, d.loc,
(select eb.received from emp_bonus where eb.empno = e.empno) as receive
from emp e, dept d
where e.deptno = d.deptno order by 2
识别和消除 笛卡尔积
select e.name, d.loc from
emp e, dept d
where e.deptno = 10;
上面这个SQL 会产生多余的数据。
应该改成
select e.name, d.loc from
emp e, dept d
where e.deptno = 10 and d.depno = e.depno;
虽然笔记本电脑 又叫 laptop ,但是最好不要把笔记本直接放在 腿上。 会腿疼的。
避免笛卡尔积 要使用 n-1 规则。
n 是 表的数量, n-1是最小连接数。
产生笛卡尔积的 原因是 表1 限制了某个条件, 但是 表2 的这个条件 没有关联或者限制。就导致多余的错误数据。
当处理聚集与联接 的混合操作时候,连接可能产生重复行。
要再调用聚集函数时,使用DISTINCT 。
内连接 取交集, 外连接 是增加额外的字段,这种字段不是每个记录都有的。
full join = left join + right join
NULL 值永远不会等于或者不等于 任何值。
select ename, comm from emp
where coalesce(comm, 0) < (
select comm from emp where ename = 'WORD'
)
上面这个SQL,在于 最后比较的时候,是另一个SQL查询的结果。以及将NULL值 转化为可以比较的 0值。
- SQLCookbook 学习笔记 3操作多个表
- SQLCookbook 学习笔记
- SQLCookbook 学习笔记 前言
- SQLCookbook 学习笔记 6 字符串
- SQLCookbook 学习笔记 1检索记录
- SQLCookbook 学习笔记 2结果排序
- SQLCookbook 学习笔记 4插入 更新 删除
- SQLCookbook 学习笔记 5元数据查询
- SQL学习:SQLCookBook源代码-mysql版本(3)
- SQLCookBook第二章学习日记3
- SQLCookBook第一章学习日记1
- SQLCookBook第一章学习日记2
- SQL学习:SQLCookBook源代码-mysql版本(1)
- SQL学习:SQLCookBook源代码-mysql版本(2)
- SQLCookBook第二章学习日记4
- SQLCookBook第三章学习日记5
- SQLCookBook第三章学习日记6
- SQLCookBook第三章学习日记7
- SAP自动付款(Automatic payment)
- HDU 1671 && POJ 3630 Phone List (Trie树 好题)
- Hello World!
- 美语音标 [ə]的几点注意
- java was started but returned exit code 13
- SQLCookbook 学习笔记 3操作多个表
- Bought a new glass in BeiJing Pan Jia Yuan
- 日期计算
- hdu 4920 矩阵循环
- Attribute "scope" must be declared for element type "bean"
- BZOJ 3747线段树 &&纪念整完了ubuntu
- 美语音标 [s]相关的变音
- Android多媒体系统的结构
- pat1061