关系表:信息分解到多个表,一类数据一个表,各表之间用共同值(主键)关联
保证信息不冗余,减小修改量
可伸缩性:适应于不断增加的工作量
联结:一条select语句中关联表,列来自于多个表
虚拟总表
对表的修改:需保证不破坏联结关系?
select
from 表1,2
where 表1key=表2key(完全限定名,避免歧义)保证配对
完全限定名,避免歧义,如果不发生歧义是否可以省略?语义更明确
以上内联结
联结表取代嵌套查询
联结多个表:两两联结
表别名:减少重复
SQL是否识别公共表达式?
其他别名:select列表,order by子句
内联结:等值联结 INNER JOIN
自联结 自然联结 ,外联结
自联结:使用别名,将表与自身联结
替代子查询:效率
自然联结
去重复列
表一列:通配符(加限定名);表二列:列出
外联结:包含没有关联的行 OUT JOIN ON
ON WHERE
带聚集函数的联结
组合查询:多条Select
如何保证行一致性
UNion
相同列集合,重复过滤。自动删除重复行(加关键字ALL——不删)
或相同表达式(使用别名?),聚集值
Union作为分隔
order by
最后一条select后,
表修改操作
INSERT行插入(权限足够)
1.插入完整的行
2.插入行的一部分
3.插入查询结果
INSERT INTO 表
VALUES(逐个字面量)