版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. zAsp 与 数据库的连接及其相关1. ASP与Access数据库连接:2. ASP与SQL数据库连接: yyy OR column3 zzz说明:1.*表示全部的栏位都列出来。2.WHERE 之後是接条件式,把符合条件的资料列出来。SELECT column1,column2FROM table_nameORDER BY column2 DESC说明:ORDER BY 是指定以*个栏位做排序,DESC是指从大到小排列,假设没有指明,则是从小到大排列组合查询组合查询是指所查询得资料来源并不只有单一的表格,而是联合一个以上的表格才能够得到结果的。SELECT *FROM table1,ta
2、ble2WHERE table1.colum1=table2.column1说明:1.查询两个表格中其中 column1 值一样的资料。2.当然两个表格相互比拟的栏位,其资料形态必须一样。3.一个复杂的查询其动用到的表格可能会很多个。整合性的查询:SELECT COUNT (*) FROM table_nameWHERE column_name = *说明:查询符合条件的资料共有几笔。SELECT SUM(column1)FROM table_name说明:1.计算出总和,所选的栏位必须是可数的数字形态。2.除此以外还有 AVG() 是计算平均、MA*()、MIN()计算最大最小值的整合性查询
3、。SELECT column1,AVG(column2)FROM table_nameGROUP BY column1HAVING AVG(column2) *说明:1.GROUP BY: 以column1 为一组计算 column2 的平均值必须和 AVG、SUM等整合性查询的关键字一起使用。 2.HAVING : 必须和 GROUP BY 一起使用作为整合性的限制。复合性的查询SELECT *FROM table_name1WHERE E*ISTS (SELECT *FROM table_name2WHERE conditions )说明:1.WHERE 的 conditions 可以是另
4、外一个的 query。2.E*ISTS 在此是指存在与否。SELECT *FROM table_name1WHERE column1 IN (SELECT column1 FROM table_name2WHERE conditions )说明:1. IN 後面接的是一个集合,表示column1 存在集合里面。2. SELECT 出来的资料形态必须符合 column1。 其他查询SELECT *FROM table_name1WHERE column1 LIKE *% 说明:LIKE 必须和後面的*% 相照应表示以 *为开头的字串。SELECT *FROM table_name1WHERE c
5、olumn1 IN (*,yyy,.)说明:IN 後面接的是一个集合,表示column1 存在集合里面。SELECT *FROM table_name1WHERE column1 BETWEEN * AND yy说明:BETWEEN 表示 column1 的值介於 * 和 yy 之间。 、更改资料:UPDATE table_nameSET column1=*WHERE conditoins说明:1.更改*个栏位设定其值为*。2.conditions 是所要符合的条件、假设没有 WHERE 则整个 table 的那个栏位都会全部被更改。、删除资料:DELETE FROM table_nameWH
6、ERE conditions说明:删除符合条件的资料。说明:关于WHERE条件后面如果包含有日期的比拟,不同数据库有不同的表达式。具体如下:(1)如果是ACCESS数据库,则为:WHERE mydate*2000-01-01* (2)如果是ORACLE数据库,则为:WHERE mydatecast(2000-01-01 as date)或:WHERE mydateto_date(2000-01-01,yyyy-mm-dd)在Delphi中写成:thedate=2000-01-01;query1.SQL.add(select * from abc where mydatecast(+thedat
7、e+ as date); 如果比拟日期时间型,则为:WHERE mydatetimeto_date(2000-01-01 10:00:01,yyyy-mm-dd hh24:mi:ss) 练掌握SQL是数据库用户的珍贵财 富。在本文中,我们将引导你掌握四条最根本的数据操作语句-SQL的核心功能-来依次介绍比拟操作符、选择断言以及三值逻辑。当你完成这些学习后,显然你已经开场算是精通SQL了。在我们开场之前,先使用CREATE TABLE语句来创立一个表如图1所示。DDL语句对数据库对象如表、列和视进展定义。它们并不对表中的行进展处理,这是因为DDL语句并不处理数据库中实际的数据。这些工作由另一类S
8、QL语句-数据操作语言DML语句进展处理。SQL中有四种根本的DML操作:INSERT,SELECT,UPDATE和DELETE。由于这是大多数SQL用户经常用到的,我们有必要在此对它们进展一一说明。在图1中我们给出了一个名为EMPLOYEES的表。其中的每一行对应一个特定的雇员记录。请熟悉这表,我们在后面的例子中将要用到它。连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实
9、体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创立新的表,此后通过连接进展查询。连接可以在SELECT 语句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来。所以,在Transact-SQL中推荐使用这种方法。SQL-92标准所定义的FROM子句的连接语法格式为:FROM join_table join_type join_tableON (join_condition)其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连
10、接又称做自连接。join_type 指出连接类型,可分为三种:连接、外连接和穿插连接。连接(INNER JOIN)使用比较运算符进展表间*(些)列数据的比拟操作,并列出这些表中与连接条件相匹配的数据行。根据所使用的比拟方式不同,连接又分为等值连接、自然连接和不等连接三种。外连接分为左外连接(LEFT OUTER JOIN或LEFT JOIN)、右外连接(RIGHT OUTER JOIN或RIGHT JOIN)和全外连接(FULL OUTER JOIN或FULL JOIN)三种。与连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接时)、右表(右外连接时)或两个表(全外连接时
11、)中所有符合搜索条件的数据行。穿插连接(CROSS JOIN)没有WHERE 子句,它返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。连接操作中的ON (join_condition) 子句指出连接条件,它由被连接表中的列和比拟运算符、逻辑运算符等构成。无论哪种连接都不能对te*t、nte*t和image数据类型列进展直接连接,但可以对这三种列进展间接连接。例如:SELECT p1.pub_id,p2.pub_id,p1.pr_infoFROM pub_info AS p1 INNER JOIN pub_info
12、 AS p2ON DATALENGTH(p1.pr_info)=DATALENGTH(p2.pr_info)(一)连接连接查询操作列出与连接条件匹配的数据行,它使用比拟运算符比拟被连接列的列值。连接分三种:1、等值连接:在连接条件中使用等于号(=)运算符比拟被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。2、不等连接: 在连接条件使用除等于运算符以外的其它比拟运算符比拟被连接的列的列值。这些运算符包括、=、=、!和。3、自然连接:在连接条件中使用等于(=)运算符比拟被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。例,下面使用等值连接列
13、出authors和publishers表中位于同一城市的作者和:SELECT *FROM authors AS a INNER JOIN publishers AS pON a.city=p.city又如使用自然连接,在选择列表中删除authors 和publishers 表中重复列(city和state):SELECT a.*,p.pub_id,p.pub_name,p.countryFROM authors AS a INNER JOIN publishers AS pON a.city=p.city(二)外连接连接时,返回查询结果集合中的仅是符合查询条件( WHERE 搜索条件或 HAV
14、ING 条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行。如下面使用左外连接将论坛容和作者信息连接起来:SELECT a.*,b.* FROM luntan LEFT JOIN usertable as bON a.username=b.username下面使用全外连接将city表中的所有作者以及user表中的所有作者,以及他们所在的城市:SELECT a.*,b.*FROM city as a FULL OUTER JOIN user as bON a.usernam
15、e=b.username- belin2000- 发布时间:2004-6-8 22:09:38- 三)穿插连接穿插连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。例,titles表中有6类图书,而publishers表中有8家,则以下穿插连接检索到的记录数将等于6*8=48行。SELECT type,pub_nameFROM titles CROSS JOIN publishersORDER BY typeUNION运算符可以将两个或两个以上上SELECT语句的查询结果集合合并成一个结果集合显示,即执行联合查询。UNION的语法格式为:select_statementUNION ALL selectstatementUNION ALL selectstatementn其中selectstatement为待联合的SELECT查询语句。ALL选项表示将所有行合并到结果集合中。不指定该项时,被联合查询结果集合中的重复行将只保存一行。联合查询时,查询结果的列标题为第一个查询语句的列标题。因此,要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年专业会议场地租约
- 品牌代加工合同模板
- 上海2014购房合同模板
- 法人与员工合同模板
- 卷纸销售合同模板
- 铝板幕墙项目质量控制方案
- 企业实习生项目合作方案
- 合作办公司合同模板
- 广州湘菜加盟合同模板
- 人才引合同模板
- 2024年国家开放大学电大《金融学》形考任务答案
- 2022版义务教育(历史)课程标准(附课标解读)
- DL∕T 5782-2018 20kV及以下配电网工程后评价导则
- 《 大学生军事理论教程》全套教学课件
- 第四单元整体教学设计【大单元教学】2024-2025学年八年级语文上册备课系列(统编版)
- 《常见的天气系统》教案范例
- 泵房施工合同范例
- 授权书-手机终端销售
- 古代汉语智慧树知到期末考试答案章节答案2024年内江师范学院
- 交通运输企业2023安全生产费用投入计划和实施方案
- HYT 116-2008 蒸馏法海水淡化蒸汽喷射装置通 用技术要求(正式版)
评论
0/150
提交评论