教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

学习SQL应知道的动态SQL语句基本语法(2)

来源:网络收集 时间:2026-09-07
导读: 交叉连接(CROSSJOIN)没有WHERE子句,它返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。 连接操作中的ON(join_condition)子

交叉连接(CROSSJOIN)没有WHERE子句,它返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。

连接操作中的ON(join_condition)子句指出连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。

无论哪种连接都不能对text、ntext和image数据类型列进行直接连接,但可以对这三种列进行间接连接。例如:

(一)内连接

内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种:

1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

学习SQL应知道的动态SQL语句基本语法

2、不等连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。

3、自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。

例,下面使用等值连接列出authors和publishers表中位于同一城市的作者和出版社:

又如使用自然连接,在选择列表中删除authors和publishers表中重复列(city和state):

(二)外连接内连接时,返回查询结果集合中的仅是符合查询条件(WHERE搜索条件或HAVING条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行。如下面使用左外连接将论坛内容和作者信息连接起来

:

下面使用全外连接将city表中的所有作者以及user表中的所有作者,以及他们所在的城市:

学习SQL应知道的动态SQL语句基本语法

(三)交叉连接交叉连接不带WHERE子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等。

教你快速掌握一些异常精妙的"SQL"语句

发布时间:2008.03.1104:58来源:赛迪网作者:钱海歌

【赛迪网-IT技术报道】精妙的"SQL"语句:

◆复制表(只复制结构,源表名:a新表名:b)

学习SQL应知道的动态SQL语句基本语法

◆拷贝表(拷贝数据,源表名:a目标表名:b)

◆显示文章、提交人和最后回复时间

◆说明:外连接查询(表名1:a表名2:b)

◆日程安排提前五分钟提醒

◆两张关联表,删除主表中已经在副表中没有的信息

◆说明:

学习SQL应知道的动态SQL语句基本语法

◆说明:

实例讲解SQLServer中"Update"的用法

学习SQL应知道的动态SQL语句基本语法

发布时间:2008.02.2805:07来源:赛迪网作者:Alizze

SQLServer中"Update"的用法:

例子:

在表中有两个字段:id_no(varchar),in_date(datetime),把in_date相同的记录的in_date依次累加1秒,使in_date没有相同的记录。

以下为原始的数据:

结果为:

学习SQL应知道的动态SQL语句基本语法

处理的方法:

学习SQL应知道的动态SQL语句基本语法

三种数据库利用SQL语句进行高效果分页

发布时间:2008.01.2104:50来源:赛迪网作者:10687

在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所有满足条件的记录全部都选择出来,再去进行分页处理,那么就会多多的浪费掉许多的系统处理时间。为了能够把效率提高,所以现在我们就只选择我们需要的数据,减少数据库的处理时间,以下就是常用SQL分页处理:

1、SQLServer

、Access数据库

这都微软的数据库,都是一家人,基本的操作都是差不多,常采用如下分页语句:PAGESIZE:每页显示的记录数

CURRENTPAGE:当前页号

数据表的名字是:components

索引主键字是:id

学习SQL应知道的动态SQL语句基本语法

如下列:

2、Oracle数据库

因为Oracle数据库没有Top关键字,所以这里就不能够像微软的数据据那样操作,这里有两种方法:

(1)、一种是利用相反的。

PAGESIZE:每页显示的记录数

CURRENTPAGE:当前页号

数据表的名字是:components

索引主键字是:id

如下例:

从101到记录开始选择,选择前面10条。

学习SQL应知道的动态SQL语句基本语法

(2)、使用minus,即中文的意思就是减去。

(3)、一种是利用Oracle的

rownum,这个是Oracle查询自动返回的序号,一般不显示,但是可以通过selectrownumfrom[表名]看到,注意,它是从1到当前的记录总数。

深入讲解SQLServer数据库的嵌套子查询

发布时间:2008.02.0205:05来源:赛迪网作者:Liulian

很多人对子查询(subqueries)的使用都感到很迷惑,尤其对于嵌套子查询(即子查询中包含一个子查询)。现在,就让我们追本溯源地探究这个问题。

有两种子查询类型:标准和相关。标准子查询执行一次,结果反馈给父查询。相关子查询每行执行一次,由父查询找回。在本文中,我将重点讨论嵌套子查询(nestedsubqueries)(我将在以后介绍相关子查询)。

试想这个问题:你想生成一个卖平垫圈的销售人员列表。你需要的数据分散在四个表格中:人员.联系方式(Person.Contact),人力资源.员工(HumanResources.Employee),销售.销售订单标题(Sales.SalesOrderHeader),销售.销售订单详情(Sales.SalesOrderDetail)。在SQLServer中,你从内压式(outside-in)写程序,但从外压式(inside-out)开始考虑非常有帮助,即可以一次解决需要的一个语句。

如果从内到外写起,可以检查Sales.SalesOrderDetail表格,在LIKE语句中匹配产品数(ProductNumber)值。你将这些行与Sales.SalesOrderHeader表格连接,从中可以获得销售人员IDs(SalesPersonIDs)。然后使用SalesPersonID连接SalesPersonID表格。最后,使用ContactID

学习SQL应知道的动态SQL语句基本语法

连接Person.Contact表格。

这个例子揭示了有关SQLServer的几个绝妙事情。你可以发现,可以用IN()参数替代

…… 此处隐藏:1288字,全部文档内容请下载后查看。喜欢就下载吧 ……
学习SQL应知道的动态SQL语句基本语法(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/110247.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)