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

网站策划方案案例中文网址和中文域名

网站策划方案案例,中文网址和中文域名,陕西网站关键词自然排名优化,卡片式设计 网站比如在Northwind数据库中有一个查询为SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(SELECT OrderID FROM Orders o WHERE o.CustomerIDc.CustomerID)这里面的EXISTS是如何运作呢#xff1f;子查询返回的是OrderId字段#xff0c;可是外面的查询要找的是Cus… 比如在Northwind数据库中有一个查询为SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(SELECT OrderID FROM Orders o WHERE o.CustomerIDc.CustomerID)这里面的EXISTS是如何运作呢子查询返回的是OrderId字段可是外面的查询要找的是CustomerID和CompanyName字段这两个字段肯定不在OrderID里面啊这是如何匹配的呢 EXISTS用于检查子查询是否至少会返回一行数据该子查询实际上并不返回任何数据而是返回值True或FalseEXISTS 指定一个子查询检测 行 的存在。语法EXISTS subquery参数subquery 是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。结果类型Boolean 如果子查询包含行则返回 TRUE 否则返回 FLASE 。(一). 在子查询中使用 NULL 仍然返回结果集select * from TableIn where exists(select null)等同于select * from Table In (二). 比较使用 EXISTS 和 IN 的查询。注意两个查询返回相同的结果。select * from TableIn where exists(select BID from TableEx where BNAMETableIn.ANAME)select * from TableIn where ANAME in(select BNAME from TableEx)(三). 比较使用 EXISTS 和 ANY 的查询。注意两个查询返回相同的结果。select * from TableIn where exists(select BID from TableEx where BNAMETableIn.ANAME)select * from TableIn where ANAMEANY(select BNAME from TableEx)NOT EXISTS 的作用与 EXISTS 正好相反。如果子查询没有返回行则满足了 NOT EXISTS 中的 WHERE 子句。结论EXISTS(包括 NOT EXISTS )子句的返回值是一个BOOL值。EXISTS内部有一个子查询语句(SELECT ... FROM...) 我将其称为EXIST的内查询语句。其内查询语句返回一个结果集。EXISTS子句根据其内查询语句的结果集空或者非空返回一个布尔值。一种通俗的可以理解为将外查询表的每一行代入内查询作为检验如果内查询返回的结果取非空值则EXISTS子句返回TRUE这一行行可作为外查询的结果行否则不能作为结果。例如:1.  查询id为5的数据:  (数据存在) SELECT * FROM class AS c1WHERE EXISTS(SELECT class_id FROM class AS c2WHERE c1.class_id  5);如果exists里面返回的结果行数大于1则返回true则外面的查询数据可以返回。 2.  查询id为10的数据:  (数据不存在)SELECT * FROM class AS c1WHERE EXISTS(SELECT class_id FROM class AS c2WHERE c1.class_id  10);因为exsits始终返回的是false所以外层查询始终无效也就不会产生数据分析器会先看语句的第一个词当它发现第一个词是SELECT关键字的时候它会跳到FROM关键字然后通过FROM关键字找到表名并把表装入内存。接着是找WHERE关键字如果找不到则返回到SELECT找字段解析如果找到WHERE则分析其中的条件完成后再回到SELECT分析字段。最后形成一张我们要的虚表。WHERE关键字后面的是条件表达式。条件表达式计算完成后会有一个返回值即非0或0非0即为真(true)0即为假(false)。同理WHERE后面的条件也有一个返回值真或假来确定接下来执不执行SELECT。分析器先找到关键字SELECT然后跳到FROM关键字将STUDENT表导入内存并通过指针找到第一条记录接着找到WHERE关键字计算它的条件表达式如果为真那么把这条记录装到一个虚表当中指针再指向下一条记录。如果为假那么指针直接指向下一条记录而不进行其它操作。一直检索完整个表并把检索出来的虚拟表返回给用户。EXISTS是条件表达式的一部分它也有一个返回值(true或false)。在插入记录前需要检查这条记录是否已经存在只有当记录不存在时才执行插入操作可以通过使用 EXISTS 条件句防止插入重复记录。INSERT INTO TableIn (ANAME,ASEX) SELECT top 1 张三, 男 FROM TableInWHERE not exists (select * from TableIn where TableIn.AID  7)EXISTS与IN的使用效率的问题通常情况下采用exists要比in效率高因为IN不走索引但要看实际情况具体使用IN适合于外表大而内表小的情况EXISTS适合于外表小而内表大的情况。in、not in、exists和not exists的区别先谈谈in和exists的区别exists:存在后面一般都是子查询当子查询返回行数时exists返回true。select * from class where exists(selectxform stu where stu.cidclass.cid)当in和exists在查询效率上比较时in查询的效率快于exists的查询效率exists(xxxxx)后面的子查询被称做相关子查询, 他是不返回列表的值的.只是返回一个ture或false的结果(这也是为什么子查询里是select x的原因 当然也可以select任何东西) 也就是它只在乎括号里的数据能不能查找出来是否存在这样的记录。其运行方式是先运行主查询一次 再去子查询里查询与其对应的结果 如果存在返回ture则输出,反之返回false则不输出,再根据主查询中的每一行去子查询里去查询.执行顺序如下1.首先执行一次外部查询2.对于外部查询中的每一行分别执行一次子查询而且每次执行子查询时都会引用外部查询中当前行的值。3.使用子查询的结果来确定外部查询的结果集。如果外部查询返回100行SQL   就将执行101次查询一次执行外部查询然后为外部查询返回的每一行执行一次子查询。in包含查询和所有女生年龄相同的男生select * from stu where sex男 and age in(select age from stu where sex女)in()后面的子查询 是返回结果集的,换句话说执行次序和exists()不一样.子查询先产生结果集,然后主查询再去结果集里去找符合要求的字段列表去.符合要求的输出,反之则不输出.not in和not exists的区别not in 只有当子查询中select 关键字后的字段有not null约束或者有这种暗示时用not in,另外如果主查询中表大子查询中的表小但是记录多则应当使用not in,例如:查询那些班级中没有学生的select * from class where cid not in(select distinct cid from stu)当表中cid存在null值not in 不对空值进行处理解决:select * from classwhere cid not in(select distinct cid from stu where cid is not null)not in的执行顺序是是在表中一条记录一条记录的查询(查询每条记录)符合要求的就返回结果集不符合的就继续查询下一条记录直到把表中的记录查询完。也就是说为了证明找不到所以只能查询全部记录才能证明。并没有用到索引。not exists如果主查询表中记录少子查询表中记录多并有索引。例如:查询那些班级中没有学生的select * from class2where not exists(select * from stu1 where stu1.cid class2.cid)not exists的执行顺序是在表中查询是根据索引查询的如果存在就返回true如果不存在就返回false不会每条记录都去查询。之所以要多用not exists而不用not in也就是not exists查询的效率远远高与not in查询的效率。来源https://www.cnblogs.com/qlqwjy/p/8598091.htmlEND推荐一位有走心的coder致力于打造一款高质量技术流学习社群他专注于分享Java技术干货包括面试攻略开发技巧架构设计职场心得等。添加好友回复入群即可加入社群
http://www.fuzeviewer.com/news/8085/

相关文章:

  • 免费招聘网站哪个好承德 网站建设 网络推广 网页设计
  • 网站seoapp电商网站设计模板
  • 网站优化北京如何联系?wordpress展现备案号
  • 长沙市网站制作wang域名 网站
  • 有关网站建设合同微商各种软件拿码渠道
  • 网站开发方向和移动开发方向那个好广东深圳市
  • 做HH的网站网页游戏网络游戏
  • WordPress授权站资源网蒲城做网站
  • 有哪些网站用vue做的什么是优化问题
  • 源代码开发网站网站建设费用怎么核算
  • 企业手机网站建设渠道网站建设策划范文
  • 有个网站叫设计什么做图
  • 网站的建设可以起到什么作用是什么意思个人网站转企业网站
  • 自助个人免费网站代做网站转账截图
  • 河北建设厅网站查询做平面设计去哪个网站找素材好
  • 云虚拟主机怎么做2个网站WordPress多站点开启多语言
  • 网站推广公司汉狮网络做网站要不要用jsp
  • 朋友圈自己做的网站制作个人网页教程
  • 中建交通建设集团有限公司网站高网站排名吗
  • 内网网站开发报价企业网站建设代码
  • jsp做的个人网站怎样开发wordpress主题
  • 动态ip怎么做网站wordpress 邮件发送
  • 做网站需要什么手续北京一环都是住什么人
  • 怎样做返利网站健身网站开发过程中遇到的麻烦
  • 湖南手机版建站系统哪家好做视频挣钱的网站
  • 有自己的域名怎么建立网站做商务网站服务
  • 赣icp网站建设wordpress添加好友
  • 网站超市源码哪个好国家企业信用信息年报
  • 有域名了也备案了怎么做网站汤原建设局网站
  • 制作网站公司图片合肥市科技中心网站