Heim >Datenbank >MySQL-Tutorial >MySQL-Codebeispiel zur Implementierung einer Eins-zu-Viele-Abfrage

MySQL-Codebeispiel zur Implementierung einer Eins-zu-Viele-Abfrage

不言
不言nach vorne
2019-02-14 11:27:333795Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Codebeispiel für die Implementierung einer Eins-zu-Viele-Abfrage. Ich hoffe, dass es für Sie hilfreich ist.

Was wir dieses Mal implementieren möchten, ist eine Eins-zu-viele-Abfrage, die mithilfe der Funktion „group_concat“ von MySQL implementiert wird.

group_concat

Einfach ausgedrückt besteht die Funktion dieser Funktion darin, mehrere Felder zu verbinden. Eine ausführliche Erklärung der Funktion finden Sie in diesem Artikel.

Datentabelle

Zuerst erstellen wir zwei Tabellen

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('1', 'tom');
INSERT INTO `student` VALUES ('2', 'jerry');

CREATE TABLE `course` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `s_id` int(11) NOT NULL,
  `c_name` char(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of course
-- ----------------------------
INSERT INTO `course` VALUES ('1', '1', '语文');
INSERT INTO `course` VALUES ('2', '1', '数学');
INSERT INTO `course` VALUES ('3', '2', '英语');
INSERT INTO `course` VALUES ('4', '2', '体育');
INSERT INTO `course` VALUES ('5', '2', '美术');

Instanz

Wenn wir die verwenden, die wir normalerweise verwenden Das Ergebnis der SQL-Abfrage

SELECT s.`name`,c.`c_name` FROM student AS s LEFT JOIN course AS c ON c.s_id = s.id;

ist

MySQL-Codebeispiel zur Implementierung einer Eins-zu-Viele-Abfrage

Im Folgenden wird die Funktion group_concat verwendet, um

SELECT s.`name`,(SELECT group_concat(course.c_name) FROM course WHERE course.s_id = s.id) FROM student AS s;

Das Ergebnis abzufragen Abfrage zu diesem Zeitpunkt

MySQL-Codebeispiel zur Implementierung einer Eins-zu-Viele-Abfrage

Das obige ist der detaillierte Inhalt vonMySQL-Codebeispiel zur Implementierung einer Eins-zu-Viele-Abfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Was ist Redis?Nächster Artikel:Was ist Redis?