I'm making a visitor management application and I made three tables namely tblStudent, tblEmployee and tblVolunteer in SQL. I made a table according to the categories of a visitor. Do I still need to make a tblVisitor that would be the "general" table for the three tables made? I'm really confused whether it's needed or not to make a table to join similar attributes of student, employee and volunteer.

I would have one table, Visitor, then have a VistorType column that determines whether you are dealing with a student, employee or volunteer. This way you only have to join to one table from other tables that need to know about visitor information, rather than trying to join to the other three or create some sort of union statement.