mysql - 显示 SQL DB 中的数据

标签 mysql sql

考虑下面的例子,

数据库中的 3 个表“名字、姓氏和年龄” 我有所有的名字和姓氏,我需要编写一个查询来显示与我提供的数据关联的年龄。

例如:

First_Name | Last_Name | Age
-----------------------------
Mark       | Thomas    | 23
Vince      | Erickson  | 29
Peter      | Charlton  | 36

我需要一个可以提供名字和姓氏的查询,它会显示所提供数据的结果,包括他们的年龄。

类似于,

SELECT Age 
FROM Users_DB 
WHERE First_Name = (Mark, Vince, Peter) 
AND Last_Name = (Thomas, Eickson, Charlton) 

因为我有 200 个用户的列表(名字和姓氏),并且我需要从包含 5000 多个用户的数据库中获取他们的年龄。我只需要显示这 200 个用户的年龄。

提前致谢

最佳答案

您的查询的正确语法是:

SELECT Age 
FROM Users_DB 
WHERE First_Name IN ('Mark', 'Vince', 'Peter') 
    AND Last_Name IN ('Thomas', 'Erickson', 'Charlton');

但我不认为这是您真正想要的,因为它还会选择名为 Mark Thomas 或 Mark Erickson 或 Mark Charlton 的人。

所以,我认为你想要在这里做的是:

SELECT * 
FROM Users_DB 
WHERE (First_Name = 'Mark' AND Last_Name = 'Thomas') 
    OR (First_Name = 'Vince' AND Last_Name = 'Erickson') 
    OR (First_Name = 'Peter' AND Last_Name = 'Charlton');

关于mysql - 显示 SQL DB 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23269085/

相关文章:

php - 如何显示连接的输出以及 IF 条件的输出?

c# - Linq to SQL DataContext 无法更新数据库中继承对象的枚举字段

sql - 左连接变成内连接

sql - ClojureQL 与 clojure.contrib.sql 相比如何?

php - 根据文本文件中的查询在数据库中创建表

Mysql InnoDB 匹配前导通配符错误

mysql - 数据仓库(ETL): Scheduled data migration from MySQL to PostgreSQL

php - 在表单中使用 Quill 并将数据传输到 mysql 数据库

mysql - 为什么这个 BEFORE INSERT 触发器在 MySQL 中不起作用?

mysql - 手动导入/导出或转储数据库