#mysql #sql
#mysql #sql
Вопрос:
У меня есть две таблицы, это «Студент» и «Пользователь«. Я хочу выбрать first_name и Last_name из таблицы «Student», которые не совпадают с «Student_ID» пользовательской таблицы.
SELECT student.student_id,
student.first_name,
student.last_name
FROM student,
USER
WHERE student.student_id != USER.student_id
Ответ №1:
То же, NOT IN
что и version, но работает немного лучше. В соответствии с этим: https://www.eversql.com/sql-syntax-check-validator /
SELECT
student.student_id,
student.first_name,
student.last_name
FROM
student
WHERE
NOT EXISTS (
SELECT
student_id
from
user
where
user.student_id = student.student_id
)
Комментарии:
1. Это превосходит
NOT IN
версию, потому что онаNULL
правильно обрабатываетuser.student_id
значения.
Ответ №2:
Попробуйте использовать этот запрос:
SELECT firstname,lastname
FROM Student
WHERE ID NOT IN(SELECT Student_ID from User);