sql Joins 教程
迄今为止,我们只获得数据从一个表的时间。这是罚款,简单的任务,但在大多数现实世界中使用MySQL的你会经常需要从多个数据表中一个单一的查询。
该法案加入MySQL中是指粉碎两个或两个以上的表成一个单一就座。这意味着一切你有教训迄今可应用于后,您创建这个新加入就座。
的连接表的安装
我们想要显示的例子和代码在我们解释什么细节,所以这里是你如何将两个表结合成一个使用MySQL的。这两个表格,我们将使用涉及到家庭的饮食习惯。
Position | Age |
---|---|
Dad | 41 |
Mom | 45 |
Daughter | 17 |
Dog |
Meal | Position |
---|---|
Steak | Dad |
Salad | Mom |
Spinach Soup | |
Tacos | Dad |
最重要的事情在这里指出的是,列位置包含的信息能配合这两个表在一起。在“家庭”表,位置列包含所有家庭成员及各自的年龄。在“食物”的地位表载列的家庭成员是谁喜欢的菜。
这只有通过共同的栏关系,如表这一点可以结合在一起,所以记住这一点在创建表你希望互相交流。
MySQL的一道简单的例子
让我们想象一下,我们要选择所有的菜肴有喜欢的家庭成员。如果你还记得从前的教训,这是一种情况时,我们需要使用WHERE子句。我们要选择所有的菜肴凡家庭成员喜欢它。
我们将执行一个通用加入这两个表使用列的位置从每个表的连接器。
注意:此范例假设您已建立的表“食物”和“家庭” 。如果您没有其中任何创建,您可以创建使用我们的MySQL的创建表的教训,或做手工吧。
// Make a MySQL Connection
// Construct our join query
$query = "SELECT family.Position, food.Meal ".
"FROM family, food ".
"WHERE family.Position = food.Position";
$result = mysql_query($query) or die(mysql_error());
// Print out the contents of each row into a table
while($row = mysql_fetch_array($result)){
echo $row['Position']. " - ". $row['Meal'];
echo "
";
}
?>
Position | Age |
---|---|
Dad | 41 |
Mom | 45 |
Daughter | 17 |
Dog |
Meal | Position |
---|---|
Steak | Dad |
Salad | Mom |
Spinach Soup | |
Tacos | Dad |