Предикат EXISTS немного более эффективен, чем JOIN, если вы хотите использовать только столбцы из одной из таблиц. Дополнительные - никогда не вставляйте строки в SQL-инструкции, подобные этому, - вы просто попрошайки для атак SQL Injection или связанных с ними ошибок (да, я знаю, что это приложение Forms, но то же самое верно. Если вы ищете имя типа «О'Лири», вы получите крах).
SqlCommand cmd = new SqlCommand("SELECT * FROM Guests WHERE EXISTS (SELECT Id FROM Students WHERE Guests.StudentId = Students.Id And Students.name= @name)", MyConn);
cmd.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = byNametextBox.Text;
SqlDataAdapter adapt = new SqlDataAdapter(cmd);
Примечание: Некоторые люди могут утверждать, что «SELECT *» это плохо, и что вы должны рассмотреть с указанием названия отдельных столбцов
Выглядит хорошо для меня – rball
Я полагаю, вы знаете, что SQL инъекции и этот пример только для этого вопроса? В противном случае выполните поиск по переполнению стека. – PQW
SQL Injection, кто-нибудь? –