用于确定表中存在的SQL查询

时间:2011-11-06 15:43:58

标签: sql database

我的数据库中有一个学生ID和多个表格,所有这些都是学生的信息,因为给定任何ID,它只出现在一个表格中。每个表都有属性Student id。

鉴于学生ID,如何使用SQL查询来确定表中是否有学生ID的学生信息?

2 个答案:

答案 0 :(得分:2)

   IF EXISTS(SELECT TOP 1 1 FROM table WHERE studentID = @input)
   BEGIN
      -- do stuff
   END

或稍微不那么花哨

   IF EXISTS(SELECT TOP 1 studentID FROM table WHERE studentID = @input)
   BEGIN
      -- do stuff
   END

您还可以创建查找视图/查询。像这样的东西:

   SELECT sudentID, 'Table1' as Location
   FROM 'Table1'
   UNION ALL
   SELECT sudentID, 'Table2' as Location
   FROM 'Table2'
   UNION ALL
   SELECT sudentID, 'Table3' as Location
   FROM 'Table3'
   UNION ALL
   SELECT sudentID, 'Table4' as Location
   FROM 'Table4'

然后查询此视图的位置。如果您需要加入

,这可能很有用

答案 1 :(得分:0)

我只是一个MySQL初学者,但我会依次从每个表中选择*来解决问题:

table订购student_id订单*;

然后,对于每个student_id,查看从该选择返回的某行是否具有该student_id。

是的,这完全是蛮力,毫无疑问有许多更复杂,更快的解决方案。但在我的MySQL之旅中,我就是这样做的。

HTH。我们非常欢迎更好的解决方案。