当前位置: 首页 > news >正文

自己开发网站网络营销方式论文

自己开发网站,网络营销方式论文,互联网怎么做,做网站代理文章目录 14.1 组合查询14.2 创建组合查询14.2.1 使用UNION14.2.2 UNION规则14.2.3 包含或取消重复的行14.2.4 对组合查询结果排序 本课讲述如何利用UNION操作符将多条SELECT语句组合成一个结果集。 14.1 组合查询 多数SQL查询只包含从一个或多个表中返回数据的单条SELECT语句… 文章目录 14.1 组合查询14.2 创建组合查询14.2.1 使用UNION14.2.2 UNION规则14.2.3 包含或取消重复的行14.2.4 对组合查询结果排序 本课讲述如何利用UNION操作符将多条SELECT语句组合成一个结果集。 14.1 组合查询 多数SQL查询只包含从一个或多个表中返回数据的单条SELECT语句。但是SQL也允许执行多个查询多条SELECT语句并将结果作为一个查询结果集返回。这些组合查询通常称为并union或复合查询compound query。 主要有两种情况需要使用组合查询 在一个查询中从不同的表返回结构数据对一个表执行多个查询按一个查询返回数据。 提示组合查询和多个WHERE条件 多数情况下组合相同表的两个查询所完成的工作与具有多个WHERE子句条件的一个查询所完成的工作相同。换句话说任何具有多个WHERE子句的SELECT语句都可以作为一个组合查询在下面可以看到这一点。 14.2 创建组合查询 可用UNION操作符来组合数条SQL查询。利用UNION可给出多条SELECT语句将它们的结果组合成一个结果集。 14.2.1 使用UNION 使用UNION很简单所要做的只是给出每条SELECT语句在各条语句之间放上关键字UNION。 举个例子假如需要Illinois、Indiana和Michigan等美国几个州的所有顾客的报表还想包括不管位于哪个州的所有的Fun4All。当然可以利用WHERE子句来完成此工作不过这次我们使用UNION。 如上所述创建UNION涉及编写多条SELECT语句。首先来看单条语句 输入▼ SELECT cust_name, cust_contact, cust_emailFROM Customers WHERE cust_state IN (IL,IN,MI); 输出▼ cust_namecust_contactcust_emailVillage ToysJohn Smithsalesvillagetoys.comFun4AllJim Jonesjjonesfun4all.comThe Toy StoreKim HowardNULL 输入▼ SELECT cust_name, cust_contact, cust_email FROM Customers WHERE cust_name Fun4All; 输出▼ cust_namecust_contactcust_emailFun4AllJim Jonesjjonesfun4all.comFun4AllDenise L. Stephensdstephensfun4all.com 分析▼ 第一条SELECT把Illinois、Indiana、Michigan等州的缩写传递给IN子句检索出这些州的所有行。第二条SELECT利用简单的相等测试找出所有Fun4All。 组合这两条语句可以如下进行 输入▼ SELECT cust_name, cust_contact, cust_email FROM Customers WHERE cust_state IN (IL,IN,MI) UNION SELECT cust_name, cust_contact, cust_emailFROM CustomersWHERE cust_name Fun4All; 输出▼ cust_namecust_contactcust_emailFun4AllDenise L. Stephensdstephensfun4all.comFun4AllJim Jonesjjonesfun4all.comVillage ToysJohn Smithsalesvillagetoys.comThe Toy StoreKim HowardNULL 分析▼ 这条语句由前面的两条SELECT语句组成之间用UNION关键字分隔。UNION指示DBMS执行这两条SELECT语句并把输出组合成一个查询结果集。 为了便于参考这里给出使用多条WHERE子句而不是UNION的相同查询 输入▼ SELECT cust_name, cust_contact, cust_email FROM Customers WHERE cust_state IN (IL,IN,MI) OR cust_name Fun4All; 在这个简单的例子中使用UNION可能比使用WHERE子句更为复杂。但对于较复杂的过滤条件或者从多个表而不是一个表中检索数据的情形使用UNION可能会使处理更简单。 提示UNION的限制 使用UNION组合SELECT语句的数目SQL没有标准限制。但是最好是参考一下具体的DBMS文档了解它是否对UNION能组合的最大语句数目有限制。 警告性能问题 多数好的DBMS使用内部查询优化程序在处理各条SELECT语句前组合它们。理论上讲这意味着从性能上看使用多条WHERE子句条件还是UNION应该没有实际的差别。不过我说的是理论上实践中多数查询优化程序并不能达到理想状态所以最好测试一下这两种方法看哪种工作得更好。 14.2.2 UNION规则 可以看到UNION非常容易使用但在进行组合时需要注意几条规则。 UNION必须由两条或两条以上的SELECT语句组成语句之间用关键字UNION分隔因此如果组合四条SELECT语句将要使用三个UNION关键字。UNION中的每个查询必须包含相同的列、表达式或聚集函数不过各个列不需要以相同的次序列出。列数据类型必须兼容类型不必完全相同但必须是DBMS可以隐含转换的类型例如不同的数值类型或不同的日期类型。 如果遵守了这些基本规则或限制则可以将UNION用于任何数据检索操作。 14.2.3 包含或取消重复的行 回到14.2.1节我们看看所用的SELECT语句。注意到在分别执行语句时第一条SELECT语句返回3行第二条SELECT语句返回2行。而在用UNION组合两条SELECT语句后只返回4行而不是5行。 UNION从查询结果集中自动去除了重复的行换句话说它的行为与一条SELECT语句中使用多个WHERE子句条件一样。因为Indiana州有一个Fun4All单位所以两条SELECT语句都返回该行。使用UNION时重复的行会被自动取消。 这是UNION的默认行为如果愿意也可以改变它。事实上如果想返回所有的匹配行可使用UNION ALL而不是UNION。 请看下面的例子 输入▼ SELECT cust_name, cust_contact, cust_email FROM Customers WHERE cust_state IN (IL,IN,MI) UNION ALL SELECT cust_name, cust_contact, cust_email FROM Customers WHERE cust_name Fun4All; 输出▼ cust_namecust_contactcust_emailVillage ToysJohn Smithsalesvillagetoys.comFun4AllJim Jonesjjonesfun4all.comThe Toy StoreKim HowardNULLFun4AllJim Jonesjjonesfun4all.comFun4AllDenise L. Stephensdstephensfun4all.com 分析▼ 使用UNION ALLDBMS不取消重复的行。因此这里返回5行其中有一行出现两次。 提示UNION与WHERE 这一课一开始我们说过UNION几乎总是完成与多个WHERE条件相同的工作。UNION ALL为UNION的一种形式它完成WHERE子句完成不了的工作。如果确实需要每个条件的匹配行全部出现包括重复行就必须使用UNION ALL而不是WHERE。 14.2.4 对组合查询结果排序 SELECT语句的输出用ORDER BY子句排序。在用UNION组合查询时只能使用一条ORDER BY子句它必须位于最后一条SELECT语句之后。对于结果集不存在用一种方式排序一部分而又用另一种方式排序另一部分的情况因此不允许使用多条ORDER BY子句。 下面的例子对前面UNION返回的结果进行排序 输入▼ SELECT cust_name, cust_contact, cust_email FROM Customers WHERE cust_state IN (IL,IN,MI) UNION SELECT cust_name, cust_contact, cust_email FROM Customers WHERE cust_name Fun4All ORDER BY cust_name, cust_contact; 输出▼ cust_namecust_contactcust_emailFun4AllDenise L. Stephensdstephensfun4all.comFun4AllJim Jonesjjonesfun4all.comThe Toy StoreKim HowardNULLVillage ToysJohn Smithsalesvillagetoys.com 分析▼ 这条UNION在最后一条SELECT语句后使用了ORDER BY子句。虽然ORDER BY子句似乎只是最后一条SELECT语句的组成部分但实际上DBMS将用它来排序所有SELECT语句返回的所有结果。 说明其他类型的UNION 某些DBMS还支持另外两种UNIONEXCEPT有时称为MINUS可用来检索只在第一个表中存在而在第二个表中不存在的行而INTERSECT可用来检索两个表中都存在的行。实际上这些UNION很少使用因为相同的结果可利用联结得到。 提示操作多个表 为了简单本课中的例子都是使用UNION来组合针对同一表的多个查询。实际上UNION在需要组合多个表的数据时也很有用即使是有不匹配列名的表在这种情况下可以将UNION与别名组合检索一个结果集。 上一篇第13课 SQL入门之创建高级联结
http://wiki.neutronadmin.com/news/255217/

相关文章:

  • 东莞哪里有做企业网站的网站开发维护面试
  • 河南公司网站可以做天津备案吗网站建设公司挣钱吗
  • 1688外贸网站调用wordpress搜索代码
  • 998元网站建设优化郑州网站建设哪家好怎么样
  • 中学网站管理系统下载如何制作境外网站
  • 我是这样做网站的米课做招聘网站的客户想退钱
  • 示范校建设平台网站wordpress数据库导出网址链接
  • wordpress网站测速天津网站建设wangzhii
  • seo优化网站模板电子商务网站建设工资
  • 建设电商网站多少钱网站建设设计书任务书
  • 精通网站建设 100免费软件下载网站app
  • 淄博网站建设找卓迅平台官网入口
  • 一个主机放几个网站网站备案查询不到说明啥
  • 北京建设执业网站广州宣传片制作
  • 莲湖免费做网站网站怎么集成支付宝
  • 深圳建网站seo怎么做电影流量网站
  • 免费网站应用软件网站开发后端技术
  • 织梦网站建设网页wordpress mu插件
  • 手机网站方案.docwordpress启用摘要失效
  • asp.net做网站有何意义楚雄自助建站系统
  • 做视频网站 买带宽重庆企业建站系统模板
  • wordpress 数据库名怎样优化排名自己网站
  • 网站描述修改wordpress选择幻灯片模版没有用
  • 建设银行找招聘网站网页美工设计实训报告
  • 台北网站建设openshift用wordpress
  • 营销型网站案例展示网上自己怎么申请商标注册
  • 帮传销做网站会违法吗高明铝业网站建站
  • 手袋 技术支持 东莞网站建设云企网站
  • 加强残联网站建设专业网站运营设计
  • 网站建设教学大纲wordpress宝宝网商城免费模板