总结一周内学习的Sql经验(一)
—周学习总结
1.在建表是定义的数据类型和我们插入数据时数据类型不一致
2.注意join 和 left join在运用中的差别。
3.group by 原则:select 后面的所有列中,没有聚合函数的列,必须出现在group by 后面。
4.当我们在统计排名的时候,如果出现相同的排名要记得使用 with ties。
5.order by 默认升序排序,也可以用ASC标识,降序desc。
6.distinct 去重复
7.批插入 insert into table_name
select __________union
select __________union
select ___________
union all,和union的区别。
8.truncate table name与drop table name 的区别在与 drop 只是删除了表的内容,truncate就像删除了那块存放表的内存空间
这也是自增段还原为1 的方法。
9.删除表的时候不能有外键的约束
10.用case语句实现对成绩的行列置换。
11.当2表中存在相互的外键约束的时候在我们建表的时候应该吧这2个外键约束拿出来放在一起执行。
在插入数据的时候其中一表的外键约束先设为null值,然后将另外一表的数据插入,最后在对之前的外键约束
进行数据更新。
12.事务和存储过程——银行的转账例子。
13.视图只给用户访问一张表的权限,隐藏方法,只显示终端给用户。
14.一张表中只能有一个聚集索引,数据的物理排序只能有一中方式,可以有多个非聚集排序。
15.触发器我的简单理解就是在你对其中的一表做操作的时候对其他的表有影响。这时候需要有触发器来触发修改另外表的相关内容。