sql基础知识

sql的左连接和右连接区别

1、意思不一样
左连接:只要左边表中有记录,数据就能检索出来,而右边有的记录必要在左边表中有的记录才能被检索出来。
右连接:右连接是只要右边表中有记录,数据就能检索出来。
2、用法不一样
右连接与左连接相反,左连接A LEFT JOIN B,连接查询的数据,在A中必须有,在B中可以有可以没有。内连接A INNER JOIN B ,在A中也有,在B中也有的数据才能查询出来。
3、空值不一样
左连接是已左边表中的数据为基准,若左表有数据右表没有数据,则显示左表中的数据右表中的数据显示为空。
右联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

1
2
select * from student s left join class c on s.classId = c.classId
select * 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
1
2
SELECT substr(name,1,4) AS ShortTitle
FROM Websites;

LEN() 返回字符串长度
ROUND() 四舍五入
NOW() 当前时间
FORMAT() 时间格式化

1
2
SELECT name, url, DATE_FORMAT(Now(),'%Y-%m-%d') AS date
FROM Websites;
1
2
CAST(your_column_name AS DECIMAL(10, 2))
ROUND(your_column_name, 2)