У меня есть эта таблица:
CREATE TABLE Employee(
id_employee INT PRIMARY KEY,
Name VARCHAR(20),
Last_name VARCHAR(20),
Gender VARCHAR(1),
Area INT
);
Создана новая таблица:
CREATE TABLE Area(
id_area INT PRIMARY KEY,
Area_name VARCHAR(20)
);
Я хочу, чтобы столбец Area в Employee преобразовал внешний ключ столбца id_area изПлощадь таблицы, поэтому я изменяю таблицу.
ALTER TABLE Employee
ADD FOREIGN KEY(Area)
REFERENCES Area(id_area)
ON DELETE SET NULL;
Когда я использую DESC для таблицы сотрудников, кажется, что все в порядке, столбец Площадь теперь имеет значение MUL.
Теперь я ввожу данные в таблицуОбласть:
INSERT INTO Area VALUES(1, 'Grphic Design');
INSERT INTO Area VALUES(2, '3D Design');
INSERT INTO Area VALUES (3,'Software');
INSERT INTO Area VALUES(4, 'Administration');
Теперь я ввожу свое первое значение в Employee:
INSERT INTO Empleados VALUES (109,'Charles',
'Cook','M',1);
И, наконец, я использую этот запрос, чтобы увидеть, как движется таблица, если столбцы связаны:
SELECT Name, Employee.Area, Area.id_area
FROM Employee, Area;
И я получил такой результат:
Name | Area | id_area
Charles | 1 | 1
Charles | 1 | 2
Charles | 1 | 3
Charles | 1 | 4
Хорошо, что я сделал не так и почему мой код является мусором?с учетом этого запроса, не должны ли все результаты быть Charles 1, id_area 1?и только один результат?я получаю четыре каждый раз, если я добавляю другого человека, результаты этого запроса умножаются, добавляя еще 1234 быка.