sql >> Databasteknik >  >> RDS >> Mysql

Tabeller vars enda syfte är att specificera en delmängd av en annan tabell

Varför en separat tabell för det. Varför inte bara skapa en BIT/Boolean fältet säger IsMedical och ställ in det på TRUE för medicinskt anställda i employee bord som

/* Defines a generic employee */
CREATE TABLE employees (
    id      INT PRIMARY KEY AUTO_INCREMENT,
    name    VARCHAR(100) NOT NULL,
    IsMedical BIT(1)
);

På det sättet, säg om du vill få alla medicinska anställda från Employee tabell; du behöver bara göra ett enda filter i WHERE villkor som säger WHERE IsMedical = true . Om du går efter en separat tabell kommer du att utföra en INNER JOIN med medical_employees och employees bord som jag tror skulle vara mer kostsamt och onödigt.



  1. Hur man markerar ett visst antal rader i tabellen vid samtidig åtkomst

  2. Hur du moderniserar ditt företag 2022

  3. Kan inte installera mysql2 gem på macOS Sierra

  4. MYSQL raderar alla resultat som har count(*)=1