基本概念
键 就是数据表中的列或者列的组合。
主键 表中可以唯一确定本表中某行记录的列或者列的组合。
例如或者身份证号码唯一确定一个人;用户ID+发票号码唯一确认某次交易。
外键 表中的某列或者某些列的组合是其他表的主键。
其作用是为了建立和其他表的关联关系。
连接 将几个个有关联的表(其中一个表的主键是其他表的外键)建立连接关系,形成一个临时表以供它用。
建立连接的主键/外键是建立连接的依据。
内连接 将进行连接的表以建立连接的依据为中心,将这些表取交集,交集就是内连接的结果。
作用就是找出在两张表中都有的记录。
外连接 连接的动作和内连接一样,结果不同。将表进行交集之后,取交集中的记录以及某表中除交集之外的所有记录。包括左连接和右连接。
例如A表左连接B表,实际上就是取交集在B表中所有字段的值+A表内容。
自连接 连接动作同上,只不过是在一张表中进行。
这样的情况适用于表中的2个字段互相有关联,并且要对这种关联进行处理时。
基本SQL语句
Select From Where 从某些表中选取符合某条件的记录
Select Distinct name,id From table Where Num=6 选取名为table的表中所有Num字段等于6的记录,并且只显示name、id列的内容。如果要全部显示,可以使用Select *。Distict是表示重复的结果只保留一个。
Join 进行表的各种连接
Select name,id FROM table1 [INNER|LEFT OUTER|RIGHT OUTER] JOIN table2 ON table1.id [>|<|>=|<=|=] table2.id 这是进行内连接/左外联/右外联的表示方式,其中id就是建立连接的依据,on后面的部分是选择对象的筛选条件。例如,如果是“=”,表示在两个表中id相同的记录中进行查询
Order By 将查询结果进行排序
格式order by table.name Desc,将结果按照表table中的字段name进行降序排序。默认不标明排序方式的是升序。
Group By Having
将查询结果按照Group By的条件进行分组,Having 增加结果显示的约束条件,即在上述查询结果中符合某条件的记录才能显示。
Group By table.name Having tabel.number>2,即将结果中table的name字段相同的记录合为一条记录,并且只有table.number大于2的分组符合显示条件。
Sum()计算某些记录的和
AVG()计算某些记录的平均值
Count()计算符合某些条件的记录的个数
Max()筛选出某些值中的最大值
Min()筛选出某些值中的最小值
另外,其实有了SQL Server的Query Build,只要记住Select就OK了。