语法
SELECT 列名
FROM 数据表1
INNER JOIN 数据表2 ON 连接条件 [INNER JOIN 数据表3 ON 连接条件]
实例
<?php
$conf = require_once('conf.php');
$students = array(
array('student_id'=>1,'student_name'=>'Alice'),
array('student_id'=>2,'student_name'=>'Bob'),
array('student_id'=>3,'student_name'=>'Cindy'),
);
// foreach($students as $array){
// }
// print_r($array['student_name']);
// die();
$scores = array(
array('score_id'=>1,'student_id'=>1,'subject'=>'Math','score'=>85),
array('score_id'=>2,'student_id'=>1,'subject'=>'English','score'=>78),
array('score_id'=>3,'student_id'=>2,'subject'=>'Math','score'=>92),
array('score_id'=>4,'student_id'=>2,'subject'=>'English','score'=>88),
array('score_id'=>5,'student_id'=>3,'subject'=>'Math','score'=>76),
array('score_id'=>6,'student_id'=>3,'subject'=>'English','score'=>80)
);
// 连接数据库
$sql_connect = mysqli_connect($conf['host'],$conf['username'],$conf['password'],$conf['dbname']);
if(mysqli_connect_error($sql_connect)){
die('数据库连接失败'.mysqli_connect_error($sql_connect));
}
$drop_table = "DROP TABLE students,scores";
$drop_query = mysqli_query($sql_connect,$drop_table);
if(!$drop_query){
die('数据表students,scores删除失败'.mysqli_error($sql_connect));
}
//首先清楚数库里面的内容,以免在编写的时候混淆 students scores
$create_table = "CREATE TABLE IF NOT EXISTS students(
student_id INT(6),
student_name VARCHAR(255)
)";
$query_table = mysqli_query($sql_connect,$create_table);
if(!$query_table){
die('数据表students创建失败'.mysqli_error($sql_connect));
}
$create_tables = "CREATE TABLE IF NOT EXISTS scores(
score_id INT(6),
student_id INT(6),
subject VARCHAR(255),
score INT(6)
)";
$query_tables = mysqli_query($sql_connect,$create_tables);
if(!$create_tables){
die('数据表scores创建失败'.mysqli_error($sql_connect));
}
foreach($students as $array){
// print_r($array['student_name']);
$insert_data = "INSERT INTO students (student_id, student_name)
VALUES ({$array['student_id']}, '{$array['student_name']}')";
$insert_query = mysqli_query($sql_connect,$insert_data);
}
if(!$insert_query){
die('数据表students数据插入失败'.mysqli_error($sql_connect));
}
foreach($scores as $array){
$insert_datas = "INSERT INTO scores VALUES ({$array['score_id']}, {$array['student_id']}, '{$array['subject']}', {$array['score']})";
$insert_querys = mysqli_query($sql_connect,$insert_datas);
}
if(!$insert_querys){
die('数据表scores数据插入失败'.mysqli_error($sql_connect));
}
//使用INNER JOIN查询,得到每个学生的姓名和数学成绩,并根据数学成绩使用降序排序。
$group_sentence = "SELECT student_name,score
FROM students INNER JOIN scores ON students.student_id = scores.student_id
WHERE scores.subject = 'Math'
ORDER BY scores.subject DESC
";
$group_query = mysqli_query($sql_connect,$group_sentence);
if(!$group_query){
die('INNER JOIN连接失败'.mysqli_error($sql_connect));
}
//var_dump($group_query);
//die();
echo '<pre>';
//var_dump($query_array);
while($array = mysqli_fetch_array($group_query,MYSQLI_ASSOC)){
$arr = $array;
print_r($arr);
}
mysqli_close($sql_connect);




还没有评论,来说两句吧...