多SQL选择

多SQL选择,sql,select,Sql,Select,我有10张桌子有很多唱片。所有表都有日期列。我想从表中提取日期的所有数据。 我可以从表1中选择*进行10次查询,其中日期=dd/MM/yyyy等,但我只想进行一次多选查询。我该怎么做? 我不太熟悉SQL语言 编辑:我正在为两个不同的桌面应用程序使用MicrosoftAccess和MySQL,但问题相同。 表有不同的字段,只是日期都是相同的,所以使用UNION是不好的。请查看包含多个SELECT语句数据的运算符。您的问题不太清楚。根据我的理解,您可以使用UNIONSQL语句组合查询并将它们作为单个

我有10张桌子有很多唱片。所有表都有日期列。我想从表中提取日期的所有数据。 我可以从表1中选择*进行10次查询,其中日期=dd/MM/yyyy等,但我只想进行一次多选查询。我该怎么做? 我不太熟悉SQL语言

编辑:我正在为两个不同的桌面应用程序使用MicrosoftAccess和MySQL,但问题相同。
表有不同的字段,只是日期都是相同的,所以使用UNION是不好的。

请查看包含多个SELECT语句数据的运算符。

您的问题不太清楚。根据我的理解,您可以使用UNIONSQL语句组合查询并将它们作为单个查询。但是,如果您想在不同的表中查询不同的日期,则只能使用多个查询。

如果我正确理解您的问题,并且您想从其中的表中获取数据
SELECT *
FROM table1,
     table2
WHERE table1.date = 'somedate'
  AND table2.date = 'somedate'
所有10个表都包含相同的字段列表,您可以使用

SELECT * FROM Table1 WHERE Date=dd/MM/yyyy
UNION ALL
SELECT * FROM Table2 WHERE Date=dd/MM/yyyy
UNION ALL    
...
UNION ALL    
SELECT * FROM Table10 WHERE Date=dd/MM/yyyy
UNION ALL
如果字段不同,则需要在结果集中添加要获取的字段:

SELECT field1, field2 FROM Table1 WHERE Date=dd/MM/yyyy
UNION ALL
SELECT field1, field2 FROM Table2 WHERE Date=dd/MM/yyyy
UNION ALL    
...
UNION ALL    
SELECT field1, field2 FROM Table10 WHERE Date=dd/MM/yyyy
UNION ALL

使用Union时要注意性能问题。-确保运行一些测试来比较这两种方法的查询时间

根据数据库软件的不同,还可以使用存储过程


还要检查每个表中的日期列是否已编制索引。

您能更具体地说吗?表格结构?DBMS?你到底想选择什么?我们需要更多的信息。您有表1和表2,…,每个表都有一个日期列,您想从中选择日期匹配的数据吗?但是这些表是如何关联的呢?如果不使用UNION,那么将值放入一个表中,然后将十个表连接到该表中。但是为什么不使用UNION呢?如果table2没有任何与somedate有关的记录,但是table1有,那么这会起作用吗?然后删除'AND table2.date='somedate'