diff --git "a/02\350\260\242/\347\254\224\350\256\260/9.28union.md" "b/02\350\260\242/\347\254\224\350\256\260/9.28union.md" new file mode 100644 index 0000000000000000000000000000000000000000..75584836d685b8d3b7bb127c95bff94c0f23f8c4 --- /dev/null +++ "b/02\350\260\242/\347\254\224\350\256\260/9.28union.md" @@ -0,0 +1,15 @@ +instead of 触发器 +对数据的操作只是一个“导火索”而已,真正起作用的是触发器里面的动作;往往这种触发器会有很多分支判断语句在里面,根据不用的条件做不同的动作! + +INSTEAD OF 触发器用来代替通常的触发动作,即当对表进行INSERT、UPDATE 或 DELETE 操作时,系统不是直接对表执行这些操作,而是把操作内容交给触发器,让触发器检查所进行的操作是否正确。如正确才进行相应的操作。因此,INSTEAD OF 触发器的动作要早于表的约束处理。 + +真正起作用的是触发器里面的动作 +after触发器是在操作成功后,所采取的一些动作 +而对于instead of触发器,真正起作用的是触发器里面的动作 +UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 + +UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同 +SELECT abc from 表1 +union +select abc from 表2 +Pivot可以根据隐式的group-by列以及pivot列进行分组,其中隐式的group-by列是出现在FROM语句中,但是没有出现在聚合函数或者pivot列中,上述查询中月份作为pivot列,年份作为隐式的group-by列, avg(temp)作为(year, month)键值对的值, month的值是在FOR语句指定的, 另外需要注意的是如果pivot输出不需要的列从FROM语句中剔除, 否则查询会产生与预期不一样的输出。 \ No newline at end of file diff --git "a/02\350\260\242/\347\254\224\350\256\260/9.29.md" "b/02\350\260\242/\347\254\224\350\256\260/9.29.md" new file mode 100644 index 0000000000000000000000000000000000000000..3d02b49a87f083dcb962ab3c73219858dcf513d6 --- /dev/null +++ "b/02\350\260\242/\347\254\224\350\256\260/9.29.md" @@ -0,0 +1,12 @@ +UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同 +SELECT abc from 表1 +union +select abc from 表2 +Pivot可以根据隐式的group-by列以及pivot列进行分组,其中隐式的group-by列是出现在FROM语句中,但是没有出现在聚合函数或者pivot列中,上述查询中月份作为pivot列,年份作为隐式的group-by列, avg(temp)作为(year, month)键值对的值, month的值是在FOR语句指定的, 另外需要注意的是如果pivot输出不需要的列从FROM语句中剔除, 否则查询会产生与预期不一样的输出。 +case when类似于编程语言中的if else判断、switch case语句。该语句执行时先对条件 +进行判断,然后根据判断结果做出相应的操作。 +CASE 字段 WHEN 条件1 THEN 操作1 WHEN 条件2 THEN 操作2...ELSE 操作n END +Read Committed不可重复读,幻读 +不可重复读是指,在一个事务内,多次读同一数据,在这个事务还没有结束时,如果另一个事务恰好修改了这个数据,那么,在第一个事务中,两次读取的数据就可能不一致。 +幻读事务A更新表里面的所有数据,这时事务B向表中插入了一条数据,这时事务A第一次的查询结果和第二次的查询结果不一致,称为幻读。 +脏读事务A向表中插入了一条数据,此时事务A还没有提交,此时查询语句能把这条数据查询出来,这种现现象称为脏读