Rumah >pangkalan data >tutorial mysql >Apakah ciri-ciri pertanyaan jadual bersama Mysql

Apakah ciri-ciri pertanyaan jadual bersama Mysql

WBOY
WBOYke hadapan
2023-05-29 11:28:051692semak imbas

Kata Pengantar

Untuk mengurangkan bilangan pertanyaan ke pangkalan data, sebagai contoh, untuk mengurangkan tekanan pada sistem dalam jadual yang tidak berkaitan, kami boleh menggunakan kata kunci kesatuan semua untuk menyertai data yang ditemui dalam berbilang jadual. Pemprosesan pertanyaan

(memudahkan penggunaan data berbeza dalam analisis statistik dengan hanya satu permintaan)

Contoh: Soal jumlah pelajar lelaki dalam jadual pelajar melalui pernyataan SQL dalam satu pertanyaan Jumlah bilangan guru yang jantinanya dalam jadual guru ialah lelaki

Apakah ciri-ciri pertanyaan jadual bersama Mysql

Apakah ciri-ciri pertanyaan jadual bersama Mysql

Penyediaan jadual pangkalan data:

Jadual pelajar jadual secara berasingan Tunjukkannya.

Kaedah ini agak mudah tetapi akan meningkatkan bilangan pertanyaan pangkalan data

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`  (
  `id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '',
  `birth` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '',
  `sex` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('01', '赵雷', '1990-01-01', '男');
INSERT INTO `student` VALUES ('02', '钱电', '1990-12-21', '男');
INSERT INTO `student` VALUES ('03', '孙风', '1990-05-20', '男');
INSERT INTO `student` VALUES ('04', '李云', '1990-08-06', '男');
INSERT INTO `student` VALUES ('05', '周梅', '1991-12-01', '女');
INSERT INTO `student` VALUES ('06', '吴兰', '1992-03-01', '女');
INSERT INTO `student` VALUES ('07', '郑竹', '1989-07-01', '女');
INSERT INTO `student` VALUES ('08', '王菊', '1990-01-20', '女');
SET FOREIGN_KEY_CHECKS = 1;

2. Gunakan kesatuan semua untuk menggabungkan berbilang jadual menjadi satu pertanyaan jadual

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for teacher
-- ----------------------------
DROP TABLE IF EXISTS `teacher`;
CREATE TABLE `teacher`  (
  `id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '',
  `sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of teacher
-- ----------------------------
INSERT INTO `teacher` VALUES ('01', '张三', '男');
INSERT INTO `teacher` VALUES ('02', '李四', '女');
INSERT INTO `teacher` VALUES ('03', '王五', '男');
SET FOREIGN_KEY_CHECKS = 1;

1 Pada masa ini, a mewakili jumlah pelajar yang jantina lelaki, dan b mewakili jumlah guru yang jantina lelaki

Apakah ciri-ciri pertanyaan jadual bersama Mysql

2. Pada masa ini kami hanya menjumlahkan a dan b secara berasingan untuk mengetahui jumlah pelajar lelaki dan guru lelaki

SELECT
	t1.学生男生总数,
	t2.男教师总数 
FROM
	( SELECT count( id ) AS 学生男生总数 FROM student WHERE student.sex = '男' ) t1,
	( SELECT count( id ) AS 男教师总数 FROM teacher WHERE teacher.sex = '男' ) t2

Apakah ciri-ciri pertanyaan jadual bersama Mysql

Atas ialah kandungan terperinci Apakah ciri-ciri pertanyaan jadual bersama Mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam