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

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

不言
Freigeben: 2019-02-14 11:27:33
nach vorne
3791 Leute haben es durchsucht

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', '美术');
Nach dem Login kopieren

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage