深入理解T-SQL基础:投影、选择、连接与子查询

1 下载量 168 浏览量 更新于2024-08-30 收藏 272KB PDF 举报
"数据库编程技术7——T-SQL基础技术" T-SQL,全称Transact-SQL,是SQL Server中用于处理关系数据库的扩展性语言。它提供了丰富的查询功能,使得用户能够根据特定需求检索、操作数据库中的数据。在本文中,我们将探讨T-SQL的基础技术,包括投影查询、选择查询、连接查询、统计计算、排序查询以及子查询。 1. 投影查询 投影查询是指从表中选择出指定的列或者所有列。在T-SQL中,这通过SELECT语句实现。例如,可以只选择学号(sno)、姓名(sname)、专业(cname)和总分(cscore)这些列: ```sql SELECT sno, sname, cname, cscore FROM student ``` 若要投影所有列,可以使用通配符`*`: ```sql SELECT * FROM student ``` 可以通过AS关键字来重命名列标题: ```sql SELECT sno AS '学号', sname AS '姓名', cscore AS '总分' FROM student ``` 去掉重复行使用DISTINCT关键字: ```sql SELECT DISTINCT cname FROM student ``` 2. 选择查询 选择查询允许我们根据各种条件过滤数据。这包括表达式比较、范围比较、模式匹配和空值处理。 - 表达式比较:`WHERE`子句中可以包含任何合法的比较表达式,例如`sname = '张三'`。 - 范围比较:可以使用BETWEEN操作符,如`score BETWEEN 80 AND 90`,选取分数在80到90之间的记录。 - 模式匹配:可以使用LIKE操作符,如`sname LIKE '张%'`,选取以“张”开头的所有姓名。 - 空值使用:使用IS NULL或IS NOT NULL检查列是否为空,如`sname IS NULL`。 3. 连接查询 连接查询将两个或多个表的数据结合在一起。T-SQL中的连接类型包括内连接(INNER JOIN)和外连接(LEFT JOIN, RIGHT JOIN, FULL JOIN)。 - 内连接返回两个表中匹配的行。 - 外连接(如LEFT JOIN)返回左表的所有行,即使右表没有匹配的行,右表的列用NULL填充。 4. 统计计算 T-SQL提供了诸如SUM、AVG、COUNT、MIN和MAX等聚合函数,用于对一组值进行统计计算。 ```sql SELECT COUNT(sno), AVG(cscore) FROM student ``` 5. 排序查询 使用`ORDER BY`子句可以对查询结果进行升序(ASC,默认)或降序(DESC)排序。 ```sql SELECT * FROM student ORDER BY cscore DESC ``` 6. 子查询 子查询是在一个查询语句中嵌套另一个查询,通常用作外部查询的一部分,以获取更复杂的查询结果。 ```sql SELECT * FROM student WHERE cscore > (SELECT AVG(cscore) FROM student) ``` 这些是T-SQL基础技术的核心内容,它们构成了T-SQL查询语言的基础,为数据库的复杂查询和数据操作提供了强大支持。通过深入理解和熟练掌握这些技术,开发者可以高效地处理和分析SQL Server数据库中的数据。