mysql常用连接查询
连接数据库PDO
$user = "root"; //数据库连接账号
$pass = "root"; //数据库连接密码
$dbname = "test"; //数据库名
try {
$db = new PDO("mysql:host=localhost;dbname=$dbname", $user, $pass); //连接数据库
echo "数据库连接成功";
} catch (PDOException $e) {
echo "数据库连接失败";
}
表一:user表
| id | name 姓名 | sex 性别 | age 年龄 |
|---|---|---|---|
| 1 | fan | 0 | 18 |
| 2 | jack | 0 | 25 |
| 3 | xiaoming | 0 | 33 |
| 4 | laowang | 1 | 50 |
| 5 | julia | 0 | 22 |
| 6 | pangda | 1 |
53 |
表二:user_Identity表
| id | identity_number 身份号码 |
|---|---|
| 1 | 111 |
| 2 | 222 |
| 3 | 3 |
| 4 | 444 |
| 5 | 555 |
| 6 | 666 |
1、内连接(Inner Join)
$sql = "select * from user as a inner join user_identity as b on a.id = b.identity_number"; //内连接user和user_identity表,as 起别名:user代表a,user_identity代表b //$sql = "select * from user inner join user_identity on user.id = user_identity.id"; // 效果同上 //$sql = "select a.id,a.name,b.identity_number from user as a inner join user_identity as b on a.id = b.id"; //select 和 from 之间的意思是 - 输出a表的id字段,输出a表的name字段,输出b表的identity_number; $data = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC); print_r ($data);
输出:
Array
(
[0] => Array
(
[id] => 3
[name] => xiaoming
[sex] => 0
[age] => 33
[identity_number] => 3
) )
2、左连接 (Left Join)
$sql = "select * from user as a left join user_identity as b on a.id = b.identity_number"; $data = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC); print_r($data);
输出:
Array
(
[0] => Array
(
[id] => null
[name] => fan
[sex] => 0
[age] => 18
[identity_number] => null
) [1] => Array
(
[id] => null
[name] => jack
[sex] => 0
[age] => 25
[identity_number] => null
) [2] => Array
(
[id] => 3
[name] => xiaoming
[sex] => 0
[age] => 33
[identity_number] => 3
) [3] => Array
(
[id] => null
[name] => laowang
[sex] => 1
[age] => 50
[identity_number] => null
) [4] => Array
(
[id] => null
[name] => julia
[sex] => 0
[age] => 22
[identity_number] => null
) [5] => Array
(
[id] => null
[name] => pangda
[sex] => 1
[age] => 53
[identity_number] => null
) )
3、右连接 (Right Join)
$sql = "select * from user as a right join user_identity as b on a.id = b.identity_number"; $data = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC); print_r($data);
输出:
Array
(
[0] => Array
(
[id] => 1
[name] => null
[sex] => null
[age] => null
[identity_number] => 111
) [1] => Array
(
[id] => 2
[name] => null
[sex] => null
[age] => null
[identity_number] => 222
) [2] => Array
(
[id] => 3
[name] => xiaoming
[sex] => 0
[age] => 33
[identity_number] => 3
) [3] => Array
(
[id] => 4
[name] => null
[sex] => null
[age] => null
[identity_number] => 444
) [4] => Array
(
[id] => 5
[name] => null
[sex] => null
[age] => null
[identity_number] => 555
) [5] => Array
(
[id] => 6
[name] => null
[sex] => null
[age] => null
[identity_number] => 666
) )
4、其他连接-省略。。。
mysql常用连接查询的更多相关文章
- MySql的连接查询
类似于oracle的连接查询,mysql连接查询也有左外连接.右外连接.内连接查询.但是,不同的是没有直接 的全外连接查询. 这里介绍MySql的连接查询: 这里已两张表为例:STUDENT 表 和 ...
- MySQL查询优化:连接查询排序limit
MySQL查询优化:连接查询排序limit(join.order by.limit语句) 2013-02-27 个评论 收藏 我要投稿 MySQL查询优化:连接查询排序 ...
- MySQL常用的查询命令
MySQL常用的查询命令 author: headsen chen 2017-10-19 10:15:25 个人原创.转载请注明作者,出处,否则依法追究法律责任 1,查询现在的时间:mysql& ...
- mysql常用快速查询修改操作
mysql常用快速查询修改操作 一.查找并修改非innodb引擎为innodb引擎 # 通用操作 mysql> select concat('alter table ',table_schema ...
- 【杂记】mysql 左右连接查询中的NULL的数据筛选问题,查询NULL设置默认值,DATE_FORMAT函数
MySQL左右连接查询中的NULL的数据筛选问题 xpression 为 Null,则 IsNull 将返回 True:否则 IsNull 将返回 False. 如果 expression 由多个变量 ...
- Mysql表连接查询
原文地址: https://www.cnblogs.com/qiuqiuqiu/p/6442791.html 1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等 ...
- MySQL常见连接查询
在实际应用中,由于不同的业务需求,一般的select查询语句无法满足要求.所以就需要了解一些MySQL的高级查询方式 内连接 inner join 典型的连接查询,有相等(=)连接和不等(<&g ...
- 【mysql】连接查询
- MySQL之连接查询
主要是多表查询和连接查询
随机推荐
- VUE图片懒加载-vue lazyload插件的简单使用
序:vue项目时候,我们要对图片进行懒加载处理,这个开发项目中就不需要自己去写了,因为比较方便使用vue lazyload进行处理,高效率开发 一. vue lazyload插件: 插件地址:http ...
- Python入门教程丨1300多行代码,让你轻松掌握基础知识点
欢迎关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练.PDF电子文档.面试集锦.学习资料等. 前言 本文适合有经验的程序员尽快进入Python世界.特别地 ...
- centos7 下通过yum安装JDK
1.查看yum库中jdk的版本 2.下载安装的jdk 3.会出现几个选择 Is this ok . 输入 y 就可以了. 4.配置环境变量 vi /etc/profile 进入编辑文本在最 ...
- rpc调用过程
在openstack中,各个组件之间的调用遵循RESTful风格,而组件内部各服务之间的相互调用采用rpc远程调用,比如nova-conductor和nova-compute rpc原理: 首先了解什 ...
- Linux中近期使用高频命令小结
配置定时任务命令crontab : 用来增加系统的定时任务,可以指定用户,时间,以及相关指令: 查看端口是否相通,扫描端口nc: nc -v ip地址 端口号: 转换格式命令dos2unix: 用来将 ...
- Linux网络编程学习(四) -----守护进程的建立(第三章)
本文介绍一个例程daemon_init() #include <sys/types.h> #include <signal.h> #include <unistd.h&g ...
- Android中五大字符串总结(String、StringBuffer、StringBuilder、Spanna
https://www.aliyun.com/jiaocheng/2861.html?spm=5176.100033.1.35.2ed56b03CbsYFK 摘要:String.StringBuffe ...
- 网站加入QQ在线客服
<!-- qq客服 --> <div class="QQFloat" > <div class="qq"> <div ...
- 最流行的Python编辑器/IDEs你认识吗?
来源商业新知网,原标题:来!带你认识几种最流行的Python编辑器/IDEs(附链接) 大数据文摘授权转载自数据派THU 作者:By Gregory Piatetsky 格雷戈里·皮亚特斯基,KDnu ...
- mui之上拉刷新和mui-content结合解决ios上拉不回弹的bug
打电话.发短信 https://blog.csdn.net/itguangit/article/details/78210770