一.select语句
1.SELECT语句的基本结构
SELECT select_list[INTO new_table]
[FROM table_source] [WHERE search_condtion]
[GROUP BY group_by_expression]
[HAVING search_condtion]
[ORDER BY order_by_expression [Asc\Desc] ]
2.用WITH语句检查一致性
WITH语句用于指定临时命令的结果集
WITH expression_name[(column_name[,.....n])] AS(CTE_query_defintion)
expression_name:表达式
CTE_query_defintion:创建临时结果集的查询语句
----使用公式表查询每个班的男生人数和女生人数 WITH cte_count(班级,性别,人数) AS (select 班级,性别,count(*) from xs group by 班级,性别) select * from cte_count
3.用SELECT.....FROM 子句返回记录
1.查询所有列
select * from xs
2.查询指定列
select 学号,姓名,出生日期 from xs
3.计算列
----查询所有学生的学号、姓名和年龄 select 学号,姓名,year(GETDATE())-year(出生日期) from xs
4.定义别名(定义别名[AS可以空格省略] ,除了使用AS关键字,还可以使用“=”)
select 学号,姓名,year(GETDATE())-year(出生日期) AS 年龄 from xs select 学号,姓名,年龄=year(GETDATE())-year(出生日期) from xs
4.用INTO子句将记录写入到指定文件
--查询所有男生的信息并将结果保存到新表中。 select * into man from xs where 性别='男' --查询所有1996年出生的学生情况,保存到临时表中【临时表前面需要加上“#”】 select * into #temp from xs where year(出生日期)=1996
5.用WHERE子句三选符合条件的记录
1.比较条件查询
- And:当2个条件都满足时,其值为真。
- Or:当两个条件中有1个满足,其值为真。
- Not:对指定条件取反。
--从KC表中查询第二学期所开课程显示课程号、课程名以及学时 select 课程号,课程名,学时 from kc where 学期=2 --从kc表中查询第2学期且学分4分或以上的课程,显示课程号、课程名以及学分 select 课程号,课程名,学分 from kc where 学期=2 and 学分>=4
2.范围条件查询【Between......end】
--查询1996年出生学生的基本情况,显示所有字段 select * from xs where 出生日期 between '1996-1-1' and '1996-12-31'
3.列表条件查询
使用IN 关键字,可以查询与列表中的值相匹配的记录
6.用GROUP BY 子句为记录分组
7.用HAVING子句对聚合指定条件
8.用ORDER BY 子句排序
9.用Distinct关键字排除重复值
10.用Top关键字返回指定记录
二、Union合并多个查询结果