mysql使用心得

  • 对于那种datetime属性的默认值 可以写CURRENT_TIMESTAMP,来填充当前时间。

对于Join连接的经验

首先,连接的结果可以在逻辑上看作是由SELECT语句指定的列组成的新表。

左连接与右连接的左右指的是以两张表中的哪一张为基准,它们都是外连接。

外连接就好像是为非基准表添加了一行全为空值的万能行,用来与基准表中找不到匹配的行进行匹配。假设两个没有空值的表进行左连接,左表是基准表,左表的所有行都出现在结果中,右表则可能因为无法与基准表匹配而出现是空值的字段。

下面的图:
rO59w6.png

在使用JOIN语句的时候,肯定会用到 ON关键字,这个字段的意思是 将两个表合成一张表的条件,而有的时候又会使用到where关键字,这个关键字则是在组合成临时表之后的筛选。

SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;

这里面 的ON关键字就是用来变成一张临时表的条件.

UNION语句

首先说一下区别,JOIN使用起来是将结果扩充表的列,相当于纵向;而UNION使用起来必须保证SELECT出来的表结构都是一样的,最后将两个表的结果纵向连接在一起。

  • UNION 中有去重操作是UNION ALL 和SELECT DISNCT差不多。

  • UNION 中如果使用ORDER BY 字段 必须在最后一张表中使用。

原文地址:https://www.cnblogs.com/adroitwolf/p/14310046.html