mysql数据库查询合并_MYSQL⼦查询以及合并查询的⽤法MYSQL⼦查询以及合并查询的⽤法
发布时间:2020-05-28 16:14:40
来源:亿速云
阅读:175
作者:鸽⼦
⼦查询exists的用法
带IN关键字的⼦查询只有⼦查询返回的结果列包含⼀个值时,⽐较运算符才适⽤。假如⼀个⼦查询返回的结果集是值的列表,这时⽐较运算符就必须⽤IN运算符代替。
IN运算符可以检测结果集中是否存在某个特定的值,如果检测成功就执⾏外部的查询。
例⼦1:查看在infos表中score字段内容符合条件对应的info表信息
SELECT * from info where score in (SELECT score FROM infos );
查询结果:
例⼦2:查看在infos表和info表同名⼈信息
SELECT * from info where name in (SELECT name FROM infos );
查询结果:
带⽐较运算符的⼦查询⼦查询可以使⽤⽐较运算符。这些⽐较运算符包括=、!=、>、>=、
例⼦:SELECT * from info where age >= (SELECT age FROM infos where id =4);
查询结果:
带EXISTS关键字的⼦查询使⽤EXISTS关键字时,内层查询语句不返回查询的记录。⽽是返回⼀个真假值。如果内层查询语句查询到满⾜条件的记录,就返回⼀个真值(true),否则,将返回⼀个假值(false)。当返回的值为true时,外层查询语句将进⾏查询;当返回的为false时,外层查询语句不进⾏查询或者查询不出任何记录。
例⼦1:SELECT * from info where exists (SELECT * from infos where id =2);
查询结果:
例⼦2:SELECT * from info where exists (SELECT * from infos where id =27);
查询结果:
带ANY关键字的⼦查询ANY关键字表⽰满⾜其中任意⼀个条件。使⽤ANY关键字时,只要满⾜内层查询语句返回的结果中的任意⼀个,就可以通过该条件来执⾏外层查询语句。
例⼦:SELECT * from info where age > ANY(SELECT age from infos);
查询结果:
带ALL关键字的⼦查询ALL关键字表⽰满⾜所有条件。使⽤ALL关键字时,只有满⾜内层查询语句返回的所有结果,才可以执⾏外层查询语句。
例⼦:SELECT * from info where age < all(SELECT age from infos);
查询结果:
合并查询合并查询结果是将多个SELECT语句的查询结果合并到⼀起。合并查询结果使⽤UNION和UNION ALL关键字。
例⼦1:SELECT score from info UNION SELECT score from infos;
查询结果:
例⼦2:SELECT score from info UNION SELECT name from infos;查询结果:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论