Apakah ciri-ciri pertanyaan jadual bersama Mysql

WBOY
Lepaskan: 2023-05-29 11:28:05
ke hadapan
1685 orang telah melayarinya

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan