zxg58 发表于 2015-7-2 11:35:47

SQL Server高级内容之表表达式和复习

1. 表表达式
  (1) 将表作为一个源或将查询的一个结果集作为一个源,对源做处理,然后得到一个新的数据源,对其进行查询。
   (2)表表达式放在from子句中
  (3)派生表,将表的查询得到的结果集作为一个新的数据源,需要注意一下几点:
    1)派生表必须有括号括起。
    2)派生表需要取别名
    3)派生表中的所有字段也要有别名(必须要给字段起名)。
    4)能够作为派生表的只有结果集(游标不行)。
   (4)写一段SQL语句,大家可以体会一下,这里就不提供数据库了。



1 select * from
2
3 (
4
5   select s1.stuID,
6
7   s1.stuName,
8
9   case s1.stuSex
10
11         when 'f' then '女'
12
13         else '男'
14   
15   end as stuSex,
16
17   datediff(yy,s1.stuBirthdate,getdate()) as stuAge,
18
19   convert(varchar(10),s1.stuStudyDate,101) as stuStudyDate,
20
21   s1.stuEmail,
22
23   s1.stuPhone,
24
25   s2.testBase,
26
27   s2.testBeyond,
28
29   s2.testName,
30
31   convert(varchar(10),s2.testDate,101) as testDate,
32
33   s3.className,
34
35   s3.classDescription
36
37         from
38
39         Student as s1
40
41             inner join
42
43         Score as s2
44
45             on s1.stuID=s2.stuID
46
47         inner join
48
49             Course as s3
50
51         on s1.classID=s3.classID
52
53             where
54
55         s1.stuIsDel=0
56
57         ) as tb1
58
59         where
60
61             tb1.stuAge=20
62
63         and
64
65             tb1.stuSex='女'
2. SQLHelper的一些知识点
  (1) SqlConnection用来连接数据库
  (2)SqlCommand用来执行SQL语句
    1)参数化查询: SqlParameter
    2)执行方法
      ->ExecuteNonQuery() 执行增删改,返回首影响的行数
      ->ExecuteScalar() 读取第一行第一列的数据,并且以Object的形式返回。
      ->ExecuteReader() 返回DataReader
   (3)SqlDataReader用来读取每一条数据
  (4) SqlDataAdapter封装了以上的所有的类
页: [1]
查看完整版本: SQL Server高级内容之表表达式和复习