sql的左连接和右连接区别
1、意思不一样
左连接:只要左边表中有记录,数据就能检索出来,而右边有的记录必要在左边表中有的记录才能被检索出来。
右连接:右连接是只要右边表中有记录,数据就能检索出来。
2、用法不一样
右连接与左连接相反,左连接A LEFT JOIN B,连接查询的数据,在A中必须有,在B中可以有可以没有。内连接A INNER JOIN B ,在A中也有,在B中也有的数据才能查询出来。
3、空值不一样
左连接是已左边表中的数据为基准,若左表有数据右表没有数据,则显示左表中的数据右表中的数据显示为空。
右联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
| 12
 
 | select * from student s left join class c on s.classId = c.classIdselect * from student s right join class c on s.classId = c.classId
 
 | 
常用函数
AVG() 平均值
COUNT() 条数
FIRST() 第一个数据
LAST()  最后个数据
MAX()   最大值
MIN()   最小值
SUM()   总和
UCASE() 转换成大写
LCASE() 转换成小写
MID()   从文本字段中提取字符
name的1开始长度4| 12
 
 | SELECT substr(name,1,4) AS ShortTitleFROM Websites;
 
 | 
 
LEN()   返回字符串长度
ROUND() 四舍五入
NOW()   当前时间
FORMAT()    时间格式化
| 12
 
 | SELECT name, url, DATE_FORMAT(Now(),'%Y-%m-%d') AS dateFROM Websites;
 
 | 
| 12
 
 | CAST(your_column_name AS DECIMAL(10, 2))ROUND(your_column_name, 2)
 
 | 
空值显示另一个| 12
 3
 4
 5
 6
 
 | COALESCE(nickname, name)
 
 IFNULL(nickname, name)
 
 ISNULL(nickname, name)
 
 |