MySQL: требуется помощь при запросе - PullRequest
0 голосов
/ 07 декабря 2018

Я буду держать это кратко здесь для удобства.Я новичок в кодировании SQL, поэтому, пожалуйста, извините, если я скажу что-то странное.Мне не удалось найти надежного решения (по крайней мере, одного, которое я бы по-настоящему понял), именно поэтому я публикую здесь последнее средство на данный момент.

Код таблицы:

create table companies (
    company_id mediumint not null auto_increment,
    Name varchar(40) not null,
    Address varchar(40),
    FoundingDate date,
    primary key (company_id)
);

create table employees (
    Employee_id mediumint not null auto_increment,
    Name varchar (40),
    Surname varchar(40),
    primary key (Employee_id)
);

create table accounts (
    Account_id mediumint not null auto_increment,
    Account_number varchar(10) not null,
    CompanyID int(10),
    Date_of_creation date,
    NET_value int(30),
    VAT int(3),
    Total_value int(40),
    EmployeeID int(10) not null,
    Description varchar(40),
    primary key (Account_number)

);

Табличные значения являются случайными строками и числами, пока я не выясню это.

Моя проблема заключается в том, что я застрял при формировании правильных запросов SQL, а именно:

  • Запросите все учетные записи в назначенных ими компаниях.Мне нужно, чтобы оно показывало значение NULL, если у аккаунта нет ассоциированной компании.
  • Запрос, в котором можно перечислить все аккаунты, чья дата меньше 2018-03-16 или те, у которых нет даты.
  • Запрос, который напечатает описание таблицы «Счета» в одном столбце и количество символов в этом описании в другом столбце.
  • Запрос, в котором перечислены все сотрудники, имена которых заканчиваются на ' -gh ', имена которых имеют длину более 5 символов.
  • Запрос, в котором будет отображена сумма наивысшей общей суммы.
  • Запрос, в котором будут перечислены все учетные записи, имеющие' 02 'в них (т. Е. 3 / 02 / 05).

Если вы можете ответить хотя бы на один из этих запросов и можете ли вы объяснить, как вы добрались дорешение в упрощенном виде, ну ... боюсь, мне нечего предложить, кроме честной благодарности!^^

1 Ответ

0 голосов
/ 07 декабря 2018

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

Чтобы попытаться продвинуть вас вперед, я укажу две конкретные ссылки, которые должны помочьВы вышлиПервая - это ссылка на основы запросов, объясняющая

выбор [полей] из [к какой таблице], присоединение к [другим таблицам], где [каковы ваши критерии] и т. Д. Некоторые основы позапрос

Следующее дает очень хорошее разъяснение условий JOIN для (INNER) JOIN - что означает обязательное совпадение записей в ОБА соединяемых таблицах и FULL OUTER JOINS, LEFT JOINs и т. д.

После рассмотрения этих вопросов, если у вас ЕЩЕ остаются вопросы, отредактируйте исходный вопрос, опубликуйте несколько примеров того, что вы ДУМАЕТЕ, и дайте нам знать (или прокомментируйте конкретный ответ), и мы на форуме можем следитьс вами.

СОВЕТ, ваш первый запрос, требующий NULL, вы должны получить по визуальной ссылке через LEFT JOIN.

Визуальное представление и примеры при запросе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...