Sobes.tech
Junior — Senior
164

Определение самого сильного пароля для каждого пользователя

Сұралған компаниялар:
Tiqum

Тапсырма шарты

livecode

Даны две взаимосвязанные таблицы users и passwords. Требуется написать SQL‑запрос, который для каждого пользователя выводит:

  • идентификатор пользователя;
  • пароль с максимальным значением strength среди всех его записей. Если у пользователя несколько паролей имеют одинаковую максимальную надёжность, допускается вернуть любой из них.
CREATE TABLE users (
    id INT,
    name varchar(50)
);
INSERT INTO users (id,name) VALUES (1,'Ivan')
INSERT INTO users (id,name) VALUES (2,'Tom')
INSERT INTO users (id,name) VALUES (3,'Jonh')
INSERT INTO users (id,name) VALUES (4,'Daren')
INSERT INTO users (id,name) VALUES (5,'Oliver')
INSERT INTO users (id,name) VALUES (6,'Leo')
INSERT INTO users (id,name) VALUES (7,'Olivia')


CREATE TABLE passwords (
    id INT,
    userId INT,
    hash varchar(255),
    strength INT
);

INSERT INTO passwords (id,userId,hash,strength) VALUES (1,1 '123213abc123abc',15);
INSERT INTO passwords (id,userId,hash,strength) VALUES (2,1 '33333333a33b33',2);
INSERT INTO passwords (id,userId,hash,strength) VALUES (3,1 'aadsadadadwas',3);
INSERT INTO passwords (id,userId,hash,strength) VALUES (4,1 'wererqwrewrwrwe',4);
INSERT INTO passwords (id,userId,hash,strength) VALUES (5,1 '455aaaaaaa',7);
INSERT INTO passwords (id,userId,hash,strength) VALUES (6,1 '455aaaa564a',10);