一、连接
一般有Inner join(等值连接)、Left join(左连接)、Right join(右连接):
inner join(等值连接) 只返回两个表中联结字段相等的行
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
查询结果展示:
表A:
id name
1 temp
2 temp1
表B:
id grade a_id
1 34 1
2 78 3
inner join: select * from A inner join B on A.id=B.a_id
id name id grade a_id
1 temp 1 34 1
left join: select * from A left join B on A.id=B.a_id
id name id grade a_id 1 temp 1 34 1 2 temp1 null null null
right join: select * from A right join B on A.id=B.a_id
id name id grade a_id 1 temp 1 34 1 null null 2 78 3
二、函数
在Sql查询当中AVG、MAX、MIN、COUNT、SUM是我们常用的函数,函数相应的需要参数有些函数是确定性的参数相应的也有不确定参数的函数
以下这些函数是确定性的:
AVG()(所有的聚合函数都是确定性的)
CAST()
CONVERT()
DATEADD()
DATEDIFF()
ASCII()
CHAR()
SUBSTRING()
以下这些函数与变量是非确定性的:
GETDATE()
@@ERROR
@@SERVICENAME
CURSORSTATUS()
RAND()
除了上述的常用函数我们在sql操作中也会遇到数据类型转变的情况,具有数据类型转换功能的函数有cast()和convert()
insert into Table (……)values(cast(value as type));
insert into Table (……)values(cast(type,type));