文章目录1、为表起别名as2、查询前n部分数据:top n 列名:表示查看前n行3、排序:order by 列名1 asc(升序)|desc(降序),列名1 asc|desc…4、消除重复行:distinct5、条件查询:写在where后面6、模糊查询:用于处理字符串类型的值,运算符包括:like % _ [] ^7、null的判断:使用is null或is not null,与其它值计算时返回null,排序时null被认为是最小8、连接:join 表名 on 关联条件9、聚合函数:对行数据进行合并10、开窗函数: over()11、分组:group by 列名1,列名2… 1、为表起别名as SQL Server 是一种关系型数据库管理系统,它提供了丰富的查询功能来帮助用户从数据库中提取所需的信息。以下是对SQL Server查询常用知识点的详细解释: 1. **为表起别名**: 使用 `AS` 关键字可以给表设置别名,这在编写复杂的SQL语句时可以使代码更易读。例如: ```sql SELECT * FROM classinfo AS ui; ``` 2. **查询前n部分数据**: `TOP n 列名` 用于选取数据表的前n行。`TOP n PERCENT` 可以选取前n%的数据。例如: ```sql SELECT TOP 3 * FROM classinfo; -- 查询前3行 SELECT TOP 5 PERCENT * FROM classinfo; -- 查询前5%的数据 ``` 3. **排序**: 使用 `ORDER BY` 关键字对查询结果进行升序或降序排列,可以同时对多个列进行排序。例如: ```sql SELECT * FROM Userinfo ORDER BY cid DESC, cname ASC; ``` 4. **消除重复行**: `DISTINCT` 关键字用于去除查询结果中的重复行。例如: ```sql SELECT DISTINCT cname FROM classinfo; ``` 5. **条件查询**: 在 `WHERE` 子句中使用比较运算符(=, >, <, >=, <=, !=)进行条件筛选。`BETWEEN` 用于指定一个连续范围,`IN` 用于指定一个非连续的值列表。例如: ```sql SELECT * FROM classinfo WHERE cid > 3; SELECT * FROM classinfo WHERE cid BETWEEN 2 AND 4; SELECT * FROM classinfo WHERE cid IN (3, 5); ``` 6. **模糊查询**: 使用 `LIKE` 运算符进行字符串匹配,支持 `%` 通配任意数量字符,`_` 通配单个字符,`[]` 用于指定一个字符范围。例如: ```sql SELECT * FROM studentinfo WHERE sphone LIKE '%4%'; SELECT * FROM studentinfo WHERE sname LIKE '虎_'; SELECT * FROM studentinfo WHERE sphone LIKE '1[3-5]%'; SELECT * FROM studentinfo WHERE sphone LIKE '1[^553]%'; ``` 7. **NULL的判断**: 判断字段是否为NULL使用 `IS NULL` 或 `IS NOT NULL`。注意,NULL值在排序时被视为最小值。例如: ```sql SELECT * FROM studentinfo WHERE sphone IS NULL; ``` 8. **连接**: 使用 `JOIN` 关键字进行表间的连接。主要有四种类型: - 内连接 (`INNER JOIN`):返回两个表中匹配的行。 - 左外连接 (`LEFT OUTER JOIN`):返回左表的所有行和右表匹配的行。 - 右外连接 (`RIGHT OUTER JOIN`):返回右表的所有行和左表匹配的行。 - 完全外连接 (`FULL OUTER JOIN`):返回两个表中所有匹配和不匹配的行。例如: ```sql SELECT * FROM studentinfo INNER JOIN classinfo ON studentinfo.cid = classinfo.cid; ``` 9. **聚合函数**: 聚合函数如 `COUNT`, `SUM`, `AVG`, `MIN`, `MAX` 对行数据进行合并计算。例如: ```sql SELECT COUNT(cid) FROM classinfo; SELECT AVG(salary) FROM employee; ``` 10. **开窗函数**: 开窗函数(Window Function)通过 `OVER()` 子句实现,可以进行行级计算,如 `ROW_NUMBER()`, `RANK()`, `DENSE_RANK()`, `LEAD()`, `LAG()` 等。例如: ```sql SELECT ROW_NUMBER() OVER (ORDER BY salary DESC) AS rank, salary FROM employee; ``` 11. **分组**: 使用 `GROUP BY` 对数据进行分组,常与聚合函数一起使用。例如: ```sql SELECT cname, COUNT(*) FROM classinfo GROUP BY cname; ``` 以上就是SQL Server查询的一些基本知识点,它们构成了SQL查询的基础,对于数据分析和数据库操作至关重要。通过灵活运用这些知识点,可以高效地从数据库中获取并处理数据。
- 粉丝: 8
- 资源: 905
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助