mysql 中如何把查询出来的一列数据当成条件(字段)来使用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 中如何把查询出来的一列数据当成条件(字段)来使用?相关的知识,希望对你有一定的参考价值。
假设表名叫table 表中有一个字段叫id
用伪sql举个例子:
select id '别名' from table 这样就查询出了字段名叫 别名 的一列数据
那如何实现这样的查询 select * from table where 别名 > 1;
也就是 select * from table where (select id from table) > 1;
(就这样写的话,子查询的返回数超过1了)
所以就是 能不能把查询出来的这一列数据当成一个平常的字段来使用,
比如 id > 1 是可以的 那要怎样实现 别名 > 1 这样的,,,
能办到吗,,,求大神帮忙!
1、打开mysql软件,需要查询表中msg这一列,只需将查询语句写成 “select msg from log1”。
2、需要统计表中有多少条数据,可以使用下图所示的语法,即可查看表数据的条目数量。
3、然后接下来就是查询msg这一列添加了一个别名为“m”提出条件。
4、最后,添加多个别名,别名的具体位置在列名的后面,这样就可以当成条件来使用了。
参考技术A1、打开php的编辑器,然后新建一个文件,写上注释内容。#mysql中where条件的使用。
2、新建一个函数use_where。
3、连接数据库,填写连接需要的信息内容。
4、填写查询条件的sql语句,用where关键字来实现,例如:select * from test1 where id=1。
5、执行sql语句,并将结果处理输出来。
6、调用这个函数。use_where();。
7、在本地进行测试。
参考技术B 回答一、单表查询1.带条件的查询基本语法:select * from +表名称 +where 条件;1)范围查询:eg:where 字段 between 10 and 100;2)模糊查询eg:where 字段 like\'%不确定%\'备注:%代表多个字符,_下划线代表一个字符,^a代表以a为开头的数据,a$代表以a为结尾的数据,[abc]匹配所包含的任意一个字符。2.多条件查询备注:当and和or同时使用时,and优先级高于or。如果想要优先带or的条件,对带or部分条件带括号即可。3.排序基本语法:order by 字段。备注:默认是升序,ASC升序,DESC降序限制记录数:limit 1004.聚合函数count():统计记录数avg():平均数max():最大值min():最小值sum():求和5.分组
参考技术C 可以对子查询做一个排序啊,然后只查寻一个,选出最小的id,比如:select * from table where (select id from table order by id asc limit 1) > 1;追问
谢谢,很有意思的思路,,,以前没试过!刚在贴吧问大神有答案了,,,
本回答被提问者采纳 参考技术D 没看懂你说的是啥,说了半天,其实就是select * from table where id>1 而已追答你说的什么别名什么的都不是实质的东西
也没用看到哪里需要子集
追问是啊,就是 select * from table where id > 1 只是这个id是查询出来的字段,而不是表中的字段!
追答那就这样写 select id as 别名,* from table where id>1
就可以了
sql查询语句如何能把不符合条件的数据也一并查出来
例如:表A数据有9条,表B数据有10条,where A.条件=B.条件,当他们关联起来一起查询的时候,如何把多出的1条也查出来
select * from b left join a on a.条件=b.条件以多的那张表作为left join 左边的那个,这里也就是b表 参考技术A 使用left join
select * from b left join a on A.条件=B.条件
b表会全部显示出来,多出的一条,B表内容有数据,A表相应的字段是空(null) 参考技术B where是条件判断,只能通过条件筛选。
多的数据不行查出来,除非b中9条数据和a一样。 参考技术C select * from B left join A on A.条件=B.条件 参考技术D where A.条件(+)=B.条件
以上是关于mysql 中如何把查询出来的一列数据当成条件(字段)来使用?的主要内容,如果未能解决你的问题,请参考以下文章