是否可以在SQL query
?
我们要说我从名为SQL
的{{1}}表中选择名称为a,b的行,使用此查询文字:
my_table
如何修改此查询文本以仅选择列2,12,22,32,42而不是所有1000列?
答案 0 :(得分:6)
将通配符*
替换为您要检索的列名。
但请阅读有关SQL标准的文档。您不太可能在表中需要1.000列。
答案 1 :(得分:2)
尝试并阅读sql,因为它确实按照它所说的
select [column name 1, column name 2]
from [table name]
where [column name 3] in ('column value 1', 'column value 2')
order by [column name 3]
请选择"列名1和#34;的值和"列名2" 从表中的行调用"表名" 这些行的值等于列值1'和'列值2'在名为"列名3"
的列中答案 2 :(得分:1)
2个imp点
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);"
希望这会有所帮助。
答案 3 :(得分:0)
是。 SQL用于从所需行中选择所需的列。除非您已经定义了名为row_names的列(这不是一项规则),否则数据行不具有row_names。在基本级别,从RDBMS检索数据是通过如下构造的SQL语句:(这是一个SELECT语句。最简单的版本具有以下子句)
总而言之,我们可能会:
SELECT
first_name,
last_name,
phone_number
FROM
WhitePages
WHERE
(last_name = "Hemingway")
在您的情况下,SELECT语句将类似于:
SELECT
<name of column 2>,
<name of column 12>,
<name of column 22>,
<name of column 32>,
<name of column 42>
FROM
my_table
WHERE
(<some_column_name> IN ('a', 'b'))
AND (<some_other_column_name> = <some_number>)
AND (<yet_another_column_name> = "<some_text>")
ORDER BY
<a_selected_column>,
<another_selected_column>
如果您定期使用数据库,我建议您多学习一下SQL,因为您很难在SO或其他网站上查询问题位点。
虽然你提到的1000列可能是夸张的,但SQL表通常不会有数百列。考虑让您的表和SQL由经验丰富的团队成员设计。