Sobes.tech
Junior — Senior
82

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

被问到的公司:

Tiqum
任务条件

Даны две взаимосвязанные таблицы 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);