2015-12-10 2 views
-3

Я новичок в MYSQL и хочу написать MYSQL запросов Я пробовал много, но я не смог. Я не знаю, как использовать соединения, совпадения и вложенные запросы и т. Д., Любезно направляйте меня. вот несколько вопросов.Может ли кто-нибудь помочь мне написать несколько MySQL-запросов

  1. Показать имена всех преподавателей, которые не обучают курсу в этом семестре.
  2. Отобразить различные факультеты titles и количество факультетов с каждым названием.
  3. Показать names и description всех курсов, преподаваемых Rahul Singh и Dean Joans, в алфавитном порядке по названию курса.
  4. Отобразить имена всех departments с ID, кроме 52, 53, or 54, используя IN оператор
  5. Display NAME (имена членов факультета), AFFILIATION (имена отдела они принадлежат), и DATE JOINED (в виде MM/DD/YYYY) для все, кто был нанят между 2000 and 2004

Табличные снимки экрана приведены ниже.

enter image description here

+2

Положите ур усилие сначала. Тогда кто-то может помочь u – Sachu

+1

это звучит точно так же, как присваивание с учетом ограничений, которые вы указали – Preuk

+0

Я написал выше, я пробовал много. –

ответ

0

Первое пытаются писать небольшие запросы сначала с помощью одной таблицы. выберите, обновите, удалите и т. Д.

затем попробуйте присоединиться к запросам, добавьте еще одну таблицу и сопоставьте ее с тем же идентификатором в обеих таблицах в разделе.

обозначаемого w3school.com веб-сайт

0

позволяет сделать первый запрос вместе:

Показать имена всех преподавателей, которые не учат любой курс в этом семестре.

  1. Каждый запрос начинается с царапины, если вы хотите только отобразить результаты. Таким образом, наш исходящий запрос выглядит следующим образом:

SELECT [colum_name] FROM [tablename];

Так что в данном случае мы хотим, чтобы отобразить имена:

SELECT faculty.LName, faculty.FName FROM [faculty_tablename] AS faculty; 


2. Теперь мы должны подключить преподавателей-таблицу с в таблице курсов, потому что только в таблице курсов есть информация, которая нам нужна, чтобы исключить людей. Обычно это делается с помощью SQL-Statement INNER JOIN, но тогда мы получим только тех, кто обучил курс. Поэтому мы будем использовать LEFT JOIN. LEFT JOIN приведет к появлению всех строк, есть ли курс, к которому мы можем подключиться или нет. Все, что вы выберете из таблицы курса, будет NULL, тогда, если нет соединения.

SELECT faculty.LName, faculty.FName 
FROM [faculty_tablename] AS faculty 
LEFT JOIN [course_tablename] AS course ON faculty.FacultyID = course.courseFacultyID 


3.И последнее, но не в последнюю очередь мы должны исключить в предложении WHERE:

SELECT faculty.LName, faculty.FName 
FROM [faculty_tablename] AS faculty 
LEFT JOIN [course_tablename] AS course ON faculty.FacultyID = course.courseFacultyID 
WHERE cource.courseFacultyID IS NULL; 

Для получения дополнительной информации рассмотрим SQL-Guide.

+0

спасибо за помощь, но в №1 на самом деле запрос соответствия будет применяться, потому что facultyid является внешним ключом в таблице курса. поэтому мне нужно показать те способности, которые отсутствуют в таблице курса (1239, 1242, 1244), но представлены в таблице преподавателей. –

+0

Для получения дополнительной информации рассмотрите SQL-Guide. – corax228