sql >> Database >  >> RDS >> Mysql

Tabellen waarvan het enige doel is het specificeren van een subset van een andere tabel

Waarom daar een aparte tabel voor. Waarom maak je niet gewoon een BIT/Boolean veld zeg IsMedical en stel dat in op TRUE voor medische medewerkers in employee tabel zoals

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

Zeg op die manier of u alle medische medewerkers van Employee . wilt krijgen tafel; je hoeft maar één filter te doen in WHERE voorwaarde zegt WHERE IsMedical = true . Terwijl, als je naar een aparte tabel gaat, je een INNER JOIN . moet uitvoeren met medical_employees en employees tafel die naar mijn mening duurder en onnodig zou zijn.



  1. mysql-query van een datum, tussen twee datumvelden

  2. wijzig de status van de gebeurtenisplanner in mysql

  3. Hoe bouw je in MySQL een index om deze zoekopdracht te versnellen?

  4. Uitleg van JSONB geïntroduceerd door PostgreSQL