从 SQL 数据库中选择特定的行和列

新手上路,请多包涵

是否可以在 SQL query 中检索特定行的特定列?

假设我从我的 SQL 表中选择,称为 my_table ,名称为:a,b 的行使用此查询文本:

 "select * from my_table where row_names in ('a', 'b') order by row_names"

如何修改此查询文本以仅选择第 2、12、22、32、42 列而不是其所有 1000 列?

原文由 dan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 893
2 个回答

将通配符 * 替换为您要检索的列名。

但请阅读有关 SQL 标准的文档。您不太可能需要一个表中的 1.000 列。

原文由 Anthony Drogon 发布,翻译遵循 CC BY-SA 3.0 许可协议

2个小鬼点

1. 单表1000列是针对RDBMS及其高度非规范化的表。

2. 行没有名字。

现在,如果您知道列的名称,请使用以下内容:

 "select column_1,column_2 from my_table where primary_key_column in ('1','2');"

这里 column_1,column_2 是您想要的列的名称。

primary_key_column 唯一地定义您的行,并在括号中定义您需要检索的所有主键。

如果您只知道列号,请使用以下方法检索列名:

 "SELECT Column_name FROM user_tab_columns where table_name = 'MY_TABLE' and Column_id in (1,2,5);"

希望这会有所帮助。

如需进一步参考 http://www.w3schools.com/sql/

原文由 Yatin Goyal 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题