join使用:
顺序:select * from a join b on (....) where (.....);先执行join on ,再执行where条件;
ps:把大于两张的表结合起来,两张表之间需要有共同的列字段。
常用的四种:
- INNER JOIN:只返回两个表中联结字段相等的行
- LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
- RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
- FULL JOIN:只要其中一个表中存在匹配,则返回行
1、left join:
- LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。
- SELECT column_name
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;
2、inner join:
- 两张表都要存在这个值,才会返回行
3、full join:
- FULL OUTER JOIN 关键字返回左表(Websites)和右表(access_log)中所有的行
4、多表join语法:
INNER JOIN 语法:
INNER JOIN 连接两个数据表的用法:
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号
INNER JOIN 连接三个数据表的用法:
SELECT * FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号
INNER JOIN 连接四个数据表的用法:
SELECT * FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号
INNER JOIN 连接五个数据表的用法:
SELECT * FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON Member.字段号=表5.字段号
时间与时间戳转换:
//时间戳转换为时间
SELECT FROM_UNIXTIME(1483510266);
//时间转换为时间戳
SELECT UNIX_TIMESTAMP('2017-01-04 13:15:00');