八、Sql Server 基础培训《进度8-查询多种写法》(实际操作)

时间:2022-09-08 12:42:59

知识点:

假设学生表、班级表、年级表

学生表(student

内码

学生姓名

班级内码

001

张三

1002

002

李四

1002

003

王五

1003

004

钱六

1001

班级表(class

内码

班级名称

年级内码

1002

2班

1

1003

3班

2

1004

4班

3

年级表(grade

内码

年级名称

1

1年级

2

2年级

执行语句如下:

drop table student

create table student

(

内码 int,

姓名 varchar(100),

班级内码 int

)

insert into student

values('001','张三','1002'),

('002','李四','1002'),

('003','王五','1003'),

('004','钱六','1001')

drop table class

create table class

(

内码 int,

班级名称 varchar(100),

年级内码 int

)

insert into class

values('1002','2班','1'),

('1003','3班','2'),

('1004','4班','3')

drop table grade

create table grade

(

内码 int,

年级名称 varchar(100)

)

insert into grade

values('1','1年级'),

('2','2年级')

1、内连接

内连接是在每个表中找出符合条件的共有记录。各表中不符合条件的记录,不写入结果集。

写法1select  t1.*,t2.*

from student t1, class t2

where t1.班级内码=t2.内码

写法2select t1.*, t2.*

from student  t1

join class t2 on t1. 班级内码=t2.内码

写法3select t1.*, t2.*

from student  t1

inner join class t2 on t1. 班级内码=t2.内码

执行过程详解:(此处运算解法仅个人意见,并非系统内部运算原理)

运算1符合where条件,班级内码相等的情况下,班级内码=1001:

学生表符合条件记录有1条:

内码

学生姓名

班级内码

004

钱六

1001

班级表符合条件记录有0条:

内码

班级名称

年级内码

Null

Null

Null

产生的组合1乘0=0种组合:

无结果集

 

运算2符合where条件,班级内码相等的情况下,班级内码=1002:

学生表符合条件记录有2条:

内码

学生姓名

班级内码

001

张三

1002

002

李四

1002

班级表符合条件记录有1条:

内码

班级名称

年级内码

1002

2班

1

产生的组合2乘1=2种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

001

张三

1002

1002

2班

1

002

李四

1002

1002

2班

1

运算3符合where条件,班级内码相等的情况下,班级内码=1003:

学生表符合条件记录有1条:

内码

学生姓名

班级内码

003

王五

1003

班级表符合条件记录有1条:

内码

班级名称

年级内码

1003

3班

2

产生的组合1乘1=1种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

003

王五

1003

1003

3班

2

运算4符合where条件,班级内码相等的情况下,班级内码=1004:

学生表符合条件记录有0条:

内码

学生姓名

班级内码

Null

Null

Null

班级表符合条件记录有1条:

内码

班级名称

年级内码

1004

4班

3

产生的组合0乘1=0种组合:

无结果集

运算5合并运算1结果、运算2结果、运算3结果、运算4结果=3种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

001

张三

1002

1002

2班

1

002

李四

1002

1002

2班

1

003

王五

1003

1003

3班

2

=================================================

=================================================

2、外连接(左连接、右连接、全连接)

左连接是根据最左表的记录,在被连接右表中找出符合条件的记录与之匹配,找不到与左表匹配的,用null填充。

写法1select t1.*, t2.*

from student  t1

left join class t2 on t1. 班级内码=t2.内码

写法2select t1.*, t2.*

from student  t1

left outer join class t2 on t1. 班级内码=t2.内码

执行过程详解:(此处运算解法仅个人意见,并非系统内部运算原理)

运算1符合where条件,班级内码相等的情况下,班级内码=1001:

学生表符合条件记录有1条:

内码

学生姓名

班级内码

004

钱六

1001

班级表符合条件记录有0条:(没有符合条件的记录以null填充)

内码

班级名称

年级内码

Null

Null

Null

产生的组合1乘1=1种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

004

钱六

1001

Null

Null

Null

运算2符合where条件,班级内码相等的情况下,班级内码=1002:

学生表符合条件记录有2条:

内码

学生姓名

班级内码

001

张三

1002

002

李四

1002

班级表符合条件记录有1条:

内码

班级名称

年级内码

1002

2班

1

产生的组合2乘1=2种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

001

张三

1002

1002

2班

1

002

李四

1002

1002

2班

1

运算3符合where条件,班级内码相等的情况下,班级内码=1003:

学生表符合条件记录有1条:

内码

学生姓名

班级内码

003

王五

1003

班级表符合条件记录有1条:

内码

班级名称

年级内码

1003

3班

2

产生的组合1乘1=1种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

003

王五

1003

1003

3班

2

运算4合并运算1结果、运算2结果、运算3结果=4种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

004

钱六

1001

Null

Null

Null

001

张三

1002

1002

2班

1

002

李四

1002

1002

2班

1

003

王五

1003

1003

3班

2

=================================================

=================================================

3、右连接

右连接则是根据最右表的记录,在被连接的左表中找出符合条件的记录与之匹配,找不到匹配的,用null填充。以下是右连接结果集。

写法1select t1.*, t2.*

from student  t1

right  join class t2 on t1. 班级内码=t2.内码

写法2select t1.*, t2.*

from student  t1

right  outer join class t2 on t1. 班级内码=t2.内码

执行过程详解:(此处运算解法仅个人意见,并非系统内部运算原理)

运算1符合where条件,班级内码相等的情况下,班级内码=1002:

班级表符合条件记录有1条:

内码

班级名称

年级内码

1002

2班

1

学生表符合条件记录有2条:

内码

学生姓名

班级内码

001

张三

1002

002

李四

1002

产生的组合1乘2=2种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

001

张三

1002

1002

2班

1

002

李四

1002

1002

2班

1

运算2符合where条件,班级内码相等的情况下,班级内码=1003:

班级表符合条件记录有1条:

内码

班级名称

年级内码

1003

3班

2

学生表符合条件记录有1条:

内码

学生姓名

班级内码

003

王五

1003

产生的组合1乘1=1种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

003

王五

1003

1003

3班

2

运算3符合where条件,班级内码相等的情况下,班级内码=1004:

班级表符合条件记录有1条:

内码

班级名称

年级内码

1004

4班

3

学生表符合条件记录有0条:

内码

学生姓名

班级内码

Null

Null

Null

产生的组合1乘1=1种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

Null

Null

Null

1004

4班

3

运算4合并运算1结果、运算2结果、运算3结果=4种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

001

张三

1002

1002

2班

1

002

李四

1002

1002

2班

1

003

王五

1003

1003

3班

2

Null

Null

Null

1004

4班

3

===================================================

===================================================

4、全连接

返回符合条件的所有表的记录,没有与之匹配的,用null填充。

写法1select t1.*, t2.*

from student  t1

full join class t2 on t1. 班级内码=t2.内码

写法2select t1.*, t2.*

from student  t1

full outer join class t2 on t1. 班级内码=t2.内码

执行过程详解:(此处运算解法仅个人意见,并非系统内部运算原理)

运算1符合where条件,班级内码相等的情况下,班级内码=1001:

学生表符合条件记录有1条:

内码

学生姓名

班级内码

004

钱六

1001

班级表符合条件记录有0条:(没有符合条件的记录以null填充)

内码

班级名称

年级内码

Null

Null

Null

产生的组合1乘1=1种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

004

钱六

1001

Null

Null

Null

运算2符合where条件,班级内码相等的情况下,班级内码=1002:

学生表符合条件记录有2条:

内码

学生姓名

班级内码

001

张三

1002

002

李四

1002

班级表符合条件记录有1条:

内码

班级名称

年级内码

1002

2班

1

产生的组合2乘1=2种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

001

张三

1002

1002

2班

1

002

李四

1002

1002

2班

1

运算3符合where条件,班级内码相等的情况下,班级内码=1003:

学生表符合条件记录有1条:

内码

学生姓名

班级内码

003

王五

1003

班级表符合条件记录有1条:

内码

班级名称

年级内码

1003

3班

2

产生的组合1乘1=1种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

003

王五

1003

1003

3班

2

运算4符合where条件,班级内码相等的情况下,班级内码=1004:

学生表符合条件记录有0条:

内码

学生姓名

班级内码

Null

Null

Null

班级表符合条件记录有1条:

内码

班级名称

年级内码

1004

4班

3

产生的组合1乘1=1种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

Null

Null

Null

1004

4班

3

运算5合并运算1结果、运算2结果、运算3结果=4种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

004

钱六

1001

Null

Null

Null

001

张三

1002

1002

2班

1

002

李四

1002

1002

2班

1

003

王五

1003

1003

3班

2

Null

Null

Null

1004

4班

3

===============================================

===============================================

5、交叉连接

笛卡尔积运算,结果集的记录数将等于第一个表的记录数乘以第二个表中的记录数。

写法1select  t1.*,t2.*

from student t1, class t2  --不带where条件的内连接

写法2select  t1.*, t2.*

from student  t1

join class t2

写法3:select  t1.*, t2.*

from student  t1

inner join class t2

写法4select  t1.*, t2.*

from student  t1

cross join class t2

本例,学生表4条记录,级表3条记录,结果集为3乘4=12种组合。

执行过程详解:(此处运算解法仅个人意见,并非系统内部运算原理)

运算1学生表内码=001:

学生表符合条件记录有1条:

内码

学生姓名

班级内码

001

张三

1002

班级表符合条件记录有3条:

内码

班级名称

年级内码

1002

2班

1

1003

3班

2

1004

4班

3

产生的组合1乘3=3种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

001

张三

1002

1002

2班

1

001

张三

1002

1003

3班

2

001

张三

1002

1004

4班

3

运算2学生表内码=002:

学生表符合条件记录有1条:

内码

学生姓名

班级内码

002

李四

1002

班级表符合条件记录有3条:

内码

班级名称

年级内码

1002

2班

1

1003

3班

2

1004

4班

3

产生的组合1乘3=3种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

002

李四

1002

1002

2班

1

002

李四

1002

1003

3班

2

002

李四

1002

1004

4班

3

运算3学生表内码=003:

学生表符合条件记录有1条:

内码

学生姓名

班级内码

003

王五

1003

班级表符合条件记录有3条:

内码

班级名称

年级内码

1002

2班

1

1003

3班

2

1004

4班

3

产生的组合1乘3=3种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

003

王五

1003

1002

2班

1

003

王五

1003

1003

3班

2

003

王五

1003

1004

4班

3

运算4学生表内码=004:

学生表符合条件记录有1条:

内码

学生姓名

班级内码

004

钱六

1001

班级表符合条件记录有3条:

内码

班级名称

年级内码

1002

2班

1

1003

3班

2

1004

4班

3

产生的组合1乘3=3种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

004

钱六

1001

1002

2班

1

004

钱六

1001

1003

3班

2

004

钱六

1001

1004

4班

3

运算5合并运算1结果、运算2结果、运算3结果、运算4结果=12种组合:

内码

学生姓名

班级内码

内码

班级名称

年级内码

001

张三

1002

1002

2班

1

001

张三

1002

1003

3班

2

001

张三

1002

1004

4班

3

002

李四

1002

1002

2班

1

002

李四

1002

1003

3班

2

002

李四

1002

1004

4班

3

003

王五

1003

1002

2班

1

003

王五

1003

1003

3班

2

003

王五

1003

1004

4班

3

004

钱六

1001

1002

2班

1

004

钱六

1001

1003

3班

2

004

钱六

1001

1004

4班

3

============================================

============================================

6、自连接

顾名思义,就是连接的表都是同一个表。同样可以有内连接、外连接各种组合方式,按实际应用去组合。(此处略)

===================================================

===================================================

学习作业8写出学生表、班级表、年级表三表联合的sql语句、运算过程、运算结果,并把查询语句

放在查询分析器中执行,对照你手工计算的结果,和系统计算的结果是否一致。总共需要写出语法

包括:内连接、左连接、右连接、全连接、交叉连接。提交给枫山。

学习作业8答案公布:

一、内连接:

select *  from student t1

inner join class t2 on t1.班级内码=t2.内码

inner join grade t3 on t2.年级内码=t3.内码

运算1班级内码,年级内码相等的情况下, 班级内码=1001时:

学生表符合条件记录有1条:

内码

姓名

班级内码

004

钱六

1001

班级表符合条件记录有0条:

内码

班级名称

年级内码

Null

Null

Null

年级表符合条件记录0条

内码

年级名称

Null

Null

无结果集

 

运算2符合where条件,班级内码,年级内码相等的情况下,班级内码=1002:

学生表符合条件记录有2条:

内码

姓名

班级内码

001

张三

1002

002

李四

1002

班级表符合条件记录有1条:

内码

班级名称

年级内码

1002

2班

1

年级表符合条件记录有1条:

内码

年级名称

1

1年级

产生2种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

001

张三

1002

1002

2班

1

1

1年级

002

李四

1002

1002

2班

1

1

1年级

运算3符合where条件,班级内码,年级内码相等的情况下,班级内码=1003:

学生表符合条件记录有1条:

内码

姓名

班级内码

003

王五

1003

班级表符合条件记录有1条:

内码

班级名称

年级内码

1003

3班

2

年级表符合条件记录1条:

内码

年级名称

2

2年级

产生1种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

003

王五

1003

1003

3班

2

2

2年级

运算4符合where条件,班级内码,年级内码相等的情况下,班级内码=1004:

学生表符合条件记录有0条:

内码

姓名

班级内码

Null

Null

Null

班级表符合条件记录有1条:

内码

班级名称

年级内码

1004

4班

3

年级表符合条件记录0条

内码

年级名称

Null

NULL

无结果集

运算5合并运算1结果、运算2结果、运算3结果、运算4结果=3种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

001

张三

1002

1002

2班

1

1

1年级

002

李四

1002

1002

2班

1

1

1年级

003

王五

1003

1003

3班

2

2

2年级

二、左连接

select * from student t1

left join class t2 on t1.班级内码=t2.内码

left join grade t3 on t2.年级内码=t3.内码

运算1班级内码,年级内码相等的情况下,班级内码=1002,年级内码=1:

学生表符合条件记录有2条:

内码

姓名

班级内码

001

张三

1002

002

李四

1002

班级表符合条件记录有1条:

内码

班级名称

年级内码

1002

2班

1

年级表符合条件记录有1条:

内码

年级名称

1

1年级

产生2种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

001

张三

1002

1002

2班

1

1

1年级

002

李四

1002

1002

2班

1

1

1年级

运算2班级内码,年级内码相等的情况下,班级内码=1003,年级内码=2:

学生表符合条件记录有1条:

内码

姓名

班级内码

003

王五

1003

班级表符合条件记录有1条:

内码

班级名称

年级内码

1003

3班

2

年级表符合条件记录1条:

内码

年级名称

2

2年级

产生的组合1乘1=1种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

003

王五

1003

1003

3班

2

2

2年级

运算3班级内码,年级内码相等的情况下,班级内码=1001,年级内码=Null:

学生表符合条件记录有1条:

内码

姓名

班级内码

004

钱六

1001

班级表符合条件记录有0条:(没有符合条件的记录以null填充)

内码

班级名称

年级内码

Null

Null

Null

年级表符合条件记录0条

内码

年级名称

null

null

产生1种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

004

钱六

1001

Null

Null

Null

Null

Null

运算4合并运算1结果、运算2结果、运算3结果=4种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

001

张三

1002

1002

2班

1

1

1年级

002

李四

1002

1002

2班

1

1

1年级

003

王五

1003

1003

3班

2

2

2年级

004

钱六

1001

Null

Null

Null

Null

Null

三、右连接

select * from student t1

right join class t2 on t1.班级内码=t2.内码

right join grade t3 on t2.年级内码=t3.内码

 

运算1班级内码,年级内码相等的情况下,年级内码=1,班级内码=1002:

班级表符合条件记录有1条:

内码

班级名称

年级内码

1002

2班

1

学生表符合条件记录有2条:

内码

姓名

班级内码

001

张三

1002

002

李四

1002

年级表符合条件记录1条:

内码

年级名称

1

1年级

产生2种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

001

张三

1002

1002

2班

1

1

1年级

002

李四

1002

1002

2班

1

1

1年级

运算2班级内码,年级内码相等的情况下,年级内码=2,班级内码=1003:

班级表符合条件记录有1条:

内码

班级名称

年级内码

1003

3班

2

学生表符合条件记录有1条:

内码

姓名

班级内码

003

王五

1003

年级表符合条件记录1条:

内码

年级名称

2

2年级

产生1种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

003

王五

1003

1003

3班

2

2

2年级

运算3合并运算1结果、运算2结果=3种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

001

张三

1002

1002

2班

1

1

1年级

002

李四

1002

1002

2班

1

1

1年级

003

王五

1003

1003

3班

2

2

2年级

四、全连接

         

select * from student t1

full join class t2 on t1.班级内码=t2.内码

full join grade t3 on t2.年级内码=t3.内码

 

运算1班级内码,年级内码相等的情况下,班级内码=1001,年级内码=null:

学生表符合条件记录有1条:

内码

姓名

班级内码

004

钱六

1001

班级表符合条件记录有0条:(没有符合条件的记录以null填充)

内码

班级名称

年级内码

Null

Null

Null

年级表符合条件记录0条:

内码

年级名称

Null

Null

产生的组合1种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

004

钱六

1001

Null

Null

Null

Null

Null

运算2班级内码,年级内码相等的情况下,班级内码=1002,年级内码=1:

学生表符合条件记录有2条:

内码

姓名

班级内码

001

张三

1002

002

李四

1002

班级表符合条件记录有1条:

内码

班级名称

年级内码

1002

2班

1

年级表符合条件记录1条:

内码

年级名称

1

1年级

产生的组合2种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

001

张三

1002

1002

2班

1

1

1年级

002

李四

1002

1002

2班

1

1

1年级

运算3班级内码,年级内码相等的情况下,班级内码=1003,班级内码=2:

学生表符合条件记录有1条:

内码

姓名

班级内码

003

王五

1003

班级表符合条件记录有1条:

内码

班级名称

年级内码

1003

3班

2

年级表符合条件记录1条:

内码

年级名称

2

2年级

产生1种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

003

王五

1003

1003

3班

2

2

2年级

运算4班级内码,年级内码相等的情况下,班级内码=1004,年级内码=null:

学生表符合条件记录有0条:

内码

姓名

班级内码

Null

Null

Null

班级表符合条件记录有1条:

内码

班级名称

年级内码

1004

4班

3

年级表符合条件记录0条:

内码

年级名称

Null

Null

产生1种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

Null

Null

Null

1004

4班

3

Null

Null

运算5合并运算1结果、运算2结果、运算3结果、运算4结果=5种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

001

张三

1002

1002

2班

1

1

1年级

002

李四

1002

1002

2班

1

1

1年级

003

王五

1003

1003

3班

2

2

2年级

004

钱六

1001

Null

Null

Null

Null

Null

Null

Null

Null

1004

4班

3

Null

Null

 

五、交叉连接

 

select  *

from student t1, class t2,grade t3

运算1学生表内码=001:

学生表符合条件记录有1条:

内码

姓名

班级内码

001

张三

1002

班级表符合条件记录有3条:

内码

班级名称

年级内码

1002

2班

1

1003

3班

2

1004

4班

3

年级表符合条件记录2条:

内码

年级名称

1

1年级

2

2年级

产生6种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

001

张三

1002

1002

2班

1

1

1年级

001

张三

1002

1003

3班

2

1

1年级

001

张三

1002

1004

4班

3

1

1年级

001

张三

1002

1002

2班

1

2

2年级

001

张三

1002

1003

3班

2

2

2年级

001

张三

1002

1004

4班

3

2

2年级

运算2学生表内码=002:

学生表符合条件记录有1条:

内码

姓名

班级内码

002

李四

1002

班级表符合条件记录有3条:

内码

班级名称

年级内码

1002

2班

1

1003

3班

2

1004

4班

3

年级表符合条件记录2条:

内码

年级名称

1

1年级

2

2年级

产生6种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

002

李四

1002

1002

2班

1

1

1年级

002

李四

1002

1003

3班

2

1

1年级

002

李四

1002

1004

4班

3

1

1年级

002

李四

1002

1002

2班

1

2

2年级

002

李四

1002

1003

3班

2

2

2年级

002

李四

1002

1004

4班

3

2

2年级

运算3学生表内码=003:

学生表符合条件记录有1条:

内码

姓名

班级内码

003

王五

1003

班级表符合条件记录有3条:

内码

班级名称

年级内码

1002

2班

1

1003

3班

2

1004

4班

3

年级表符合条件记录2条:

内码

年级名称

1

1年级

2

2年级

产生6种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

003

王五

1003

1002

2班

1

1

1年级

003

王五

1003

1003

3班

2

1

1年级

003

王五

1003

1004

4班

3

1

1年级

003

王五

1003

1002

2班

1

2

2年级

003

王五

1003

1003

3班

2

2

2年级

003

王五

1003

1004

4班

3

2

2年级

运算4学生表内码=004:

学生表符合条件记录有1条:

内码

姓名

班级内码

004

钱六

1001

班级表符合条件记录有3条:

内码

班级名称

年级内码

1002

2班

1

1003

3班

2

1004

4班

3

年级表符合条件记录2条:

内码

年级名称

1

1年级

2

2年级

产生6种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

004

钱六

1001

1002

2班

1

1

1年级

004

钱六

1001

1003

3班

2

1

1年级

004

钱六

1001

1004

4班

3

1

1年级

004

钱六

1001

1002

2班

1

2

2年级

004

钱六

1001

1003

3班

2

2

2年级

004

钱六

1001

1004

4班

3

2

2年级

运算5合并运算1结果、运算2结果、运算3结果、运算4结果=24种组合:

内码

姓名

班级内码

内码

班级名称

年级内码

内码

年级名称

001

张三

1002

1002

2班

1

1

1年级

001

张三

1002

1003

3班

2

1

1年级

001

张三

1002

1004

4班

3

1

1年级

001

张三

1002

1002

2班

1

2

2年级

001

张三

1002

1003

3班

2

2

2年级

001

张三

1002

1004

4班

3

2

2年级

002

李四

1002

1002

2班

1

1

1年级

002

李四

1002

1003

3班

2

1

1年级

002

李四

1002

1004

4班

3

1

1年级

002

李四

1002

1002

2班

1

2

2年级

002

李四

1002

1003

3班

2

2

2年级

002

李四

1002

1004

4班

3

2

2年级

003

王五

1003

1002

2班

1

1

1年级

003

王五

1003

1003

3班

2

1

1年级

003

王五

1003

1004

4班

3

1

1年级

003

王五

1003

1002

2班

1

2

2年级

003

王五

1003

1003

3班

2

2

2年级

003

王五

1003

1004

4班

3

2

2年级

004

钱六

1001

1002

2班

1

1

1年级

004

钱六

1001

1003

3班

2

1

1年级

004

钱六

1001

1004

4班

3

1

1年级

004

钱六

1001

1002

2班

1

2

2年级

004

钱六

1001

1003

3班

2

2

2年级

004

钱六

1001

1004

4班

3

2

2年级

 

八、Sql Server 基础培训《进度8-查询多种写法》(实际操作)的更多相关文章

  1. 五、Sql Server 基础培训《进度5-数据类型(知识点+实际操作)》

    知识点: ================================================= ============================================= ...

  2. 二、Sql Server 基础培训《进度2-关于主键(知识点学习)》

    学习作业2: 问题1:主键都有哪些方式?   问题2:本次实战案例建立的主键采用哪种方式?   问题3:猜猜金蝶K3WISE建立的主键采用哪种方式?   问题4:谈谈手工主键增长设置具体实现思路?(选 ...

  3. SQL Server 基础 05 多链表查询和子查询

     连接查询 值得注意的是:字段前必须加表名,以便混淆 -- 多表连接查询和子查询 select * from dbo.stu_info ,dbo.sname2 -- 加连接规则的查询 where se ...

  4. mysql、sql server、oracle数据库分页查询及分析(操作手册)

    1.mysql分页查询 方式1: select * from table order by id limit m, n; 该语句的意思为,查询m+n条记录,去掉前m条,返回后n条记录.无疑该查询能够实 ...

  5. 九、Sql Server 基础培训《进度9-复杂查询练习》(实际操作)

    知识点: 复杂查询1:统计全校有多少个男生.有多少个女生? 写法1(分组): select sex as 性别,count(*) as 人数 from student group by sex 写法2 ...

  6. 四、Sql Server 基础培训《进度4-插入数据(实际操作)》

    知识点: 假设有订单表 CREATE TABLE Order ( ID int identity(1,1) not null primary key, --内码 BillNo varchar(100) ...

  7. 三、Sql Server 基础培训《进度3-是否使用外键(知识点学习)》

    学习作业3: 问题1:你觉得外键有哪些适用情况?哪些不适用情况?   问题2:本次实战案例,由你来架构,你觉得有必要建立外键吗? 说明你的理由?     ======================= ...

  8. 一、Sql Server 基础培训《进度1-建库建数据表(实际操作)》

    知识点: 1.建数据库示例参考 --创建一个数据库名为‘dbtest’ create database dbtest go --打开数据库 dbtest use dbtest go 2.建表示例参考 ...

  9. 七、Sql Server 基础培训《进度7-笛卡尔积(知识点+实际操作)》

    知识点: 1.笛卡尔介绍 笛卡尔,近代法国著名哲学家.物理学家.数学家.神学家. 主要成就概述 笛卡尔在科学上的贡献是多方面的.笛卡尔不仅在哲学领域里开辟了一条新的道路,同时笛卡尔又是一勇于探索的科学 ...

随机推荐

  1. Linux C语言解析并显示.bmp格式图片

    /************************* *bmp.h文件 *************************/ #ifndef __BMP_H__ #define __BMP_H__ # ...

  2. ExtJS扩展:扩展grid

    ExtJs的grid功能很强大,但是有时候觉得总是少那么一点点功能,我们就来扩展它,让它用起来更方便. 今天我们要扩展的是:根据记录的选择数量来禁用或启用grid toolbar上的某些按钮. 本文所 ...

  3. c#语句 for循环嵌套

    1.打印三角形. 1) 方法一.for嵌套 方法二.只用一个for 2)倒三角 3)后三角 2.求100以内质数的和. 3.一张纸厚度为0.01米,至少对折多少次才能达到珠峰的高度?(用for死循环) ...

  4. Codeforces 682 D. Alyona and Strings (dp)

    题目链接:http://codeforces.com/contest/682/problem/D 给你两个字符串,求两个字符串中顺序k个的相同子串 长度之和.(注意是子串) dp[i][j][k][0 ...

  5. iOS中的颜色

    最近在改Bug的时候,才注意到iOS 中的颜色竟然也大有文章,特来记录一下. 先说一下问题,因为某界面中有用xib实现的一个view,而这个view 只在UIColletionView的layout ...

  6. Cordova打包Apk

    ======================== apk打包 ======================== keytool -genkey -v -keystore release-key.key ...

  7. python中把数据存入csv中

    import csv # 如果不添加newline=""的话,就会每条数据中间都会有空格行 with open("test.csv","w" ...

  8. P1002过河卒

    传送 因为卒每到一个点上,就有两种情况.1.从左边过来.2.从上面过来.我们设f[i][j]为卒到[i][j]这个点的方案数,那么方程就是f[i][j]=f[i-1][j]+f[i][j-1],边界状 ...

  9. Linux输出重定向>和>>的区别是什么

    [简介:>与>>的区别]   1 > 是定向输出到文件,如果文件不存在,就创建文件:如果文件存在,就将其清空:一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`& ...

  10. matlab做曲线拟合

    python 做曲线拟合 https://blog.csdn.net/qq_16583687/article/details/72723708 matlab做拟合函数,可以在命令行输入:数据x,数据y ...