当前位置:文档之家 > msyql 多表查询

msyql 多表查询

多表查询

1.简单查询

内连接查询

1】简单的连接查询

给两个表找中间桥梁: select 字段列表from 表1,表2 where 表1.s_di=表2.s_id;

eg: select s_name,marks from student_info,marks_info where

student_info.s_id=marks_info.s_id;

eg: select s_name,marks,c_name from

student_info,marks_info,class_info where marks_info.s_id=student_info.s_id and

marks_info.c_id=class_info.c_id;

问题:如果表名很长,书写繁琐,代码不清晰。

解决:使用表别名

定义格式:1】表名as 别名

2】表名别名

别名作用域只在本查询语句中

eg : select s_name,c_name,marks from student_info s,marks_info

m,class_info c where s.s_id=m.s_id and m.c_id=c.c_id

查询学生的编号,姓名,科目,成绩

问题:如果查询的字段在多个表中存在,那么就必须在字段前添加表名或表的别名

select s.s_id,s_name,c_name,marks from student_info s,marks_info

m,class_info c where s.s_id=m.s_id and m.c_id=c.c_id

2】SQL内外连接(是SQL语言中的多表分类,查询效率比简单查询和子查询在某种情况下要高)

内连接格式:select 字段列表from 表1 inner join 表2 on 表1.字段=表2.字段

eg :查询学生的姓名和成绩

select s_name,c_name,marks from student_info inner join marks_info on

student_info.s_id=marks_info.s_id inner join class_info on

marks_info.c_id=class_info.c_id;

(我试了下,这个作用其实和那个把两个表中相同的如ID号再把其对应的字段放在一起。和select * from table1,table2 where
table1.id=table2.id差不多,效果一样) 3】自然查询: 是简单的查询中去掉重复的记录在字段中添加distinct

(我试了下,这个作用其实和那个把两个表中相同的如ID号再把其对应的字段放在一起。和select * from table1,table2 where table1.id=table2.id差不多,效果一样) 3】自然查询: 是简单的查询中去掉重复的记录在字段中添加distinct

外连接查询outer join

1】左连接(left join)select 字段列表from 表1 left join 表2 on 表1.字段=表2.字段

(查询语句以表1为参照表) 如果表2中有与表1相匹配的记录,那么就显示记录,如果表2中没有与表1相匹配的记录则在相对应的字段上填充null)

问题:如果查询的记录,必须以某个表作为参照表,打印出记录相同的所有的记录SELECT s_name, marks FROM student_info s LEFT JOIN marks_info m ON

s.s_id = m.s_id

2】右连接(right join) (查询语句以表2为参照表)

下载Word文档免费下载:

msyql 多表查询下载

(共17页)

MySQL多表查询_经典

MySQL多表查询_经典 - MySQL 多表查询 一使用 SELECT 子句进行多表查询 SELECT 字段名 FROM 表 1,表 2 … WHERE 表 1.字段 = 表 2.字段 AND...

MySQL多表查询语句

MySQL多表查询语句 - 中文数据不能对齐显示,在登录时: Mysql --default-character-set=latin1 -u root -p 输入密码登录 不能显示中文: Set...

MYSQL的多表操作查询

MYSQL的多表操作查询 - 超详细 mysql left join,right join,inner join 用法分析 下面是例子分析 表 A 记录如下: aID aNum 1 a20050...

mysql多表查询

mysql多表查询 - 1.order by 排序 mysql> select * from xin order by id; +---+---+ | id | name...

Mysql多表查询,多表插入和多表更新

Mysql多表查询,多表插入和多表更新 - ***by garcon1986***...

MySQL多表操作说明

MySQL多表操作说明 - 问题说明: 一、主从表数据更新问题 当两张表没有建立任何关系的时候,那么可以随意删除其中任何一张表中的任何记录, 但是一旦把两张表建立了...

MySQL数据库高级查询和多表查询(二)

MySQL数据库高级查询和多表查询(二) - 机试测试试卷 (MySQL 数据库应用与开发) 院校 : 方向 :Java 方向 日期 : 时间 : 总分数 :100 分 姓名: ...

MySQL多表查询

MySQL多表查询 一使用SELECT子句进行多表查询 SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件 SELECT a.id,a.name,a....

MySQL表与表之的连接和查询

MySQL 多表连接查询 Left Join,Right Join MySQL 多表连接查询 Left Join,Right Join MySQL 中的连接查询通过连接运算符可以实现多个表查询。 连接是关系数据库...

Java连接数据库,多表查询

Java连接数据库,多表查询 - Java 以编程的形式连接数据库,并实现多表查询,查询条件是三年级 2 班,语文 成绩大于 80 分的学生,并打出名单。代码如下: package...