我的数据库中有一个学生ID和多个表格,所有这些都是学生的信息,因为给定任何ID,它只出现在一个表格中。每个表都有属性Student id。
鉴于学生ID,如何使用SQL查询来确定表中是否有学生ID的学生信息?
答案 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。我们非常欢迎更好的解决方案。