其实我之前发过这个问题。但没有得到一个很好的解决方案,所以我删除了旧的。我在这里再次发布它。
请看看我的桌子。在dateofbirth领域有2对类似的dateofbirth。
现在问题是'我怎样才能归还同一天出生的学生的名字'。
当我发布这个问题时,我通过使用分区得到了一个解决方案,我的一个朋友告诉我他认为可以使用连接。我想知道是否可以使用'SQL JOINS'然后使用哪个连接(自连接?),为什么使用它,以及对你编写的代码的一个很好的解释。我的意思是解释每一行,因为我是sql的初学者,所以我可以很容易地理解它。
我不想要复杂的解释或代码,我想要最简单的基本方法。我想从基础知识中学习它。
答案 0 :(得分:1)
对我来说,一个简单的方法如下:
SELECT *
FROM Students
INNER JOIN
(SELECT stu_dateofbirth
FROM Students
GROUP BY stu_dateofbirth
HAVING Count(stu_dateofbirth
) > 1) AS DateOfBirths
ON Students.stu_dateofbirth = DateOfBirths.stu_dateofbirth
加入是在一个选择语句中,该语句可以获得出现多次的出生日期,然后将其加入主表出生日期列,以检索所有符合出生日期的学生。
有很多方法,但上面使用连接来实现它,所以希望有帮助