SQL语句问题 怎么查询指定条件的数据?

这是一个名为:Persons 的表
id LastName FirstName
1 Adams John
2 Bush George
3 Carter Thomas

比如 我知道FirstName的文本 我想取他的id
我该怎么写?
SELECT `id` FROM Persons WHERE FirstName ='John'

这样么? 急用
然后在利用得到的ID查询他LastName 的数据
该怎么写?

第1个回答  2015-06-18
有以下几中方式来实现分页:
1.EJB的Find方法
2.在显示第一页前将所有的记录放在collection对象中,后续的各页都在内存中取。
3.每一页都到数据库作一次重复的查询,然后将符合条件的记录显示出来。
4.保存前几页的搜索结果在内存中(经常使用到的),后续的记录(这些数据是多数用户都没有耐心看的)再通过连数据库取得。
5.其他各种cache机制。
第2个回答  2014-09-17
既然是同一个表就不用分两步。
SELECT * FROM Persons WHERE FirstName='John'
一次查询就可以知道FirstName是John的这条记录的全部信息了,包括id和LastName。追问

问题John 这个数据是随时变动的 我不知道里面到底是什么 所以我要取这个数据
不是固定数据

追答

不明白你是什么意思,如果不知道这个John那你怎么确定你要查的是哪一条记录?

本回答被网友采纳
第3个回答  2014-09-17
你好,可以一步直接查询出来你需要的信息:
select p.id,p.LastName from Persons p where p.FirstName = 'John';

希望采纳.谢谢!追问

问题John 这个数据是随时变动的 我不知道里面到底是什么 所以我要取这个数据
不是固定数据

追答

如果是java操作的话,可以用"?"占位符顶替,再用preparestate指定占位符的值,这个值是通过方法的参数传递进来的.
如果是oraclepl/sql操作的话,可以直接用p.FirstName=&firstname;就会提示你输入一个值的

追问

不是java 是php

追答

php应该也是可以用占位符代替的吧,各个语言之间操作的流程大致相同,只是表达形式不一样的

第4个回答  2014-09-17
SELECT LastName FROM Persons WHERE (id IN (SELECT id FROM Persons WHERE (FirstName = 'John')))
这个是完全按你的意思写的,不过根据你的描述一般人会按楼的上方法来写。追问

恩 不过john这个数据不是固定的 是个时间戳

追答

时间戳也可以传到SQL语句里的

相似回答