SQL语言基础

时间:2022-09-04 17:42:43

主要学习链接1

http://www.cnblogs.com/anding/p/5281558.html

搜索学习链接2

http://www.cnblogs.com/libingql/p/4134298.html

在链接1中 里面使用的语法为MYSQL语法,而我学习使用的是MS SQL,所以便有了学习链接2做参考学习

在学习过程中产生不了解的问题:
1  SQL建表语句语法区别

自动递增列 SQL Server 是 : IDENTITY ----MySQL是: AUTO_INCREMENT

SQL Server 有计算列 ---- MySQL 没

SQL Server 有 check 约束 ---- MySQL 没

MySQL 有 enum

2 SQL数据类型区别

SQL Server 没有double只有float,如固定小数位可用numric,整数小数都出现使用real

3 嵌套查询

MS SQL 错误:无法绑定由多个部分组成的标识符 "xxxxx"

在自连接多表时,参考链接2

SELECT c1.CategoryID, c1.CategoryName
FROM [dbo].[Category] c1 INNER JOIN [dbo].[Category] c2
ON c1.[CategoryID] = c2.[ParentID]

在上述基础上,将 表 改进为 条件查询表

select st.[Name],c1.Score,c2.Score from
(select sc.[Score], sc.[StudentID] from Score sc where sc.[CourseID]=1 )c1
join (select sc.[Score], sc.[StudentID] from Score sc where sc.[CourseID]=2 )c2
on c1.[Score]>c2.[Score] and c1.[StudentID]=c2.[StudentID]
join Student st on st.[ID]= c1.[StudentID]

4 Group By

GROUP BY 语句用于结合合计函数