SQL SERVER连接合并查询怎么做,代码是什么
Admin 2022-08-06 群英技术资讯 561 次浏览
CREATE table MyStudentInfo ( Id int not null primary key, Name varchar(16), Age int, Gender varchar(2), Phone varchar(16), Address varchar(50), GradeId int )
INSERT INTO MyStudentInfo SELECT 1,'张三',20,'1','15801258912','上海',1 UNION SELECT 2,'李四',22,'1','12345678901','北京',1 UNION SELECT 3,'王五',16,'1','13976891234','天津',2 UNION SELECT 4,'赵六',19,'1','18676891234','重庆',3 UNION SELECT 5,'小红',21,'2','17776891234','广州',4 UNION SELECT 6,'小王',25,'2','13176891234','深圳',5 UNION SELECT 7,'小刘',18,'2','13374591234','南京',6 UNION SELECT 8,'小张',16,'1','13974596734','长沙',6 UNION SELECT 9,'小罗',27,'1','13175122786','武汉',7 UNION SELECT 10,'小袁',21,'2','17715872346','石家庄',8
CREATE table GradeInfo ( Id int not null primary key, GradeName varchar(16) )
联合插入多条数据
INSERT INTO GradeInfo SELECT 1,'.NET' UNION SELECT 2,'Android' UNION SELECT 3,'PHP' UNION SELECT 4,'UI' UNION SELECT 5,'HTML5' UNION SELECT 6,'JAVA' UNION SELECT 9,'HADOOP' UNION SELECT 10,'大数据'
内链接是从结果表中删除其他被链接表中没有匹配的所有行,所以我们说内链接可能丢失数据
SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeName FROM MyStudentInfo s INNER JOIN GradeInfo g ON s.GradeId=g.Id
左外联接,关键字LEFT JOIN
左外联接,结果集中包括左表中的所有行,如果左表的某一行在右表中没有匹配行,则在关联的结果集行中,
来自右表的所有选择列表均为NULL
SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeName FROM MyStudentInfo s LEFT JOIN GradeInfo g ON s.GradeId=g.Id
GIGHT JOIN进行联接
是左外联接的反向联接,将返回右表的所有行,如果右表的某一行在左表中没有匹配行,则将为左表返回NULL
SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeName FROM MyStudentInfo s RIGHT JOIN GradeInfo g ON s.GradeId=g.Id
关键字是FULL JOIN
完整外联接使用了FULL JOIN进行联接,当某一行在另一表中没有匹配行,另一表的选择列表将返回NULL
SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeName FROM MyStudentInfo s FULL JOIN GradeInfo g ON s.GradeId=g.Id
CORSS JOIN 没有where 也没有on,返回行数是两表行数的乘积
SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeName FROM MyStudentInfo s CROSS JOIN GradeInfo g
UNION必须遵循
SELECT Age,Name FROM MyStudentInfo UNION SELECT Id,GradeName FROM GradeInfo ORDER BY Age DESC
SELECT Age,Name,Address FROM MyStudentInfo UNION ALL SELECT Id,GradeName,NULL FROM GradeInfo ORDER BY Age DESC
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了SQL Server中避免触发镜像SUSPEND的N种方法,需要的朋友可以参考下
本文详细讲解了Sql Server中的数据类型,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
SQL左链接LEFT JOIN关键字返回左表(表1)中的所有行,即使在右表(表2)中没有匹配。如果在正确的表中没有匹配,结果是NULL。
SQL WHERE 子句用于过滤记录。WHERE 子句用于提取满足指定标准的记录。一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
在使用SQL提数的时候,常会遇到表内有重复值的时候,这时候就需要去重,那么应该如何去重,本文就详细的介绍一下,感兴趣的可以了解一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008