php面试专题---17、MySQL的SQL语句编写考点

一、总结

一句话总结:

注意:只写精品

1、MySQL的关联UPDATE语句?

关键UPDATE A,B:UPDATE A,B SET A.c1=B.c1,A.c2=B.c2 WHERE A.id=B.id
关键A INNER JOIN B:UPDATE A INNER JOIN B ON A.id=B.id SET A.c1=B.c1,A.c2=B.c2 WHERE...…

2、有A(id,sex,par,c1,c2),B(id,age,c1,c2)两张表,其中A.id与B.id关联,现在要求写出一条SQL语句,将B中age>50的记录的c1,c2更新到A表中统一记录中的c1,c2字段中?

内连接:update A,B set A.c1=B.c1,A.c2=B.c2 where A.id=B.id and B.age>50;
内连接:update A inner join B on A. id=B.id set A.c1=B.c1,A.C2=B.c2 where B.age>50

3、mysql六种关联查询?

交叉连接(CROSSJOIN),内连接(INNERJOIN),外连接(LEFT JOIN/RIGHT JOIN),联合查询(UNION与UNIONALL),全连接(FULL JOIN)

4、mysql中为什么交叉连接实例及为什么很少用?

1、SELECT*FROM A,B(,C)或者
2、SELECT*FROM A CROSS JOIN B(CROSS JOIN C)
3、结果笛卡尔积:没有任何关联条件,结果是笛卡尔积,结果集会很大,没有意义,很少使用

5、mysql中的内连接实例?

SELECT * FROM A,B WHERE A.id=B.id 或者
SELECT * FROM A INNER JOIN B ON A.id=B.id

多表中同时符合某种条件的数据记录的集合

6、交叉连接SELECT * FROM A,B和内连接 SELECT * FROM A,B WHERE A.id=B.id的区别?

交叉连接的结果是笛卡尔积:内连接的结果相当于筛选了,所以小了很多

7、mysql内连接分为哪三类?

等值连接:ON A.id=B.id
不等值连接:ON A.id>B.id
自连接:SELECT*FROM A T1 INNER JOIN A T2 ON T1.id=T2.pid

8、mysql如何联合查询及注意?

UNION关键字:SELECT*FROM A UNION SELECT*FROM B UNION...…
列数相等:就是把多个结果集集中在一起,UNION前的结果为基准,需要注意的是联合查询的列数要相等,相同的记录行会合并
不合并重复的记录行:如果使用UNION ALL,不会合并重复的记录行

9、mysql如何实现全链接(MySQL不支持全连接)?

可以使用LEFT JOIN 和UNION 和 RIGHT JOIN 联合使用:SELECT*FROM A LEFT JOIN B ON A.id=B.id UNION SELECT*FROM A RIGHT JOIN B ON A.id=B.id

二、内容在总结中

 

php面试专题---17、MySQL的SQL语句编写考点的更多相关文章

  1. PHP面试 MySQL的SQL语句编写

    MySQL的SQL语句编写 面试题一 有A表(id,sex,par,c1,c2),B(id,age,c1,c2)两张表,其中A.id与B.id关联,现在要求写出一条SQL语句,将B中age>50 ...

  2. php面试专题---MySQL常用SQL语句优化

    php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...

  3. Mysql常用sql语句(17)- left/right join 外连接

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 外连接分为两种:left join.right ...

  4. MySQL 中 SQL语句大全(详细)

    sql语句总结 总结内容 1. 基本概念 2. SQL列的常用类型 3. DDL简单操作 3.1 数据库操作 3.2 表操作 4. DML操作 4.1 修改操作(UPDATE SET) 4.2 插入操 ...

  5. SQL语句编写的练习(MySQL)

    SQL语句编写的练习(MySQL) 一.建表 1.学生表(Student) 学号 | 姓名 | 性别 | 出生年月 | 所在班级 create table Student( sno varchar(2 ...

  6. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  7. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  8. MySQL数据库sql语句的一些简单优化

    1.查询条件的先后顺序 有多个查询条件时,要把效率高能更精确筛选记录的条件放在后边.因为MySQL解析sql语句是从后往前的(不知是否准确). 例: select a.*,b.* from UsrIn ...

  9. mysql下sql语句 update 字段=字段+字符串

    mysql下sql语句 update 字段=字段+字符串   mysql下sql语句令某字段值等于原值加上一个字符串 update 表明 SET 字段= 'feifei' || 字段; (postgr ...

随机推荐

  1. js json中的时间转换格式

    //根据json中的日期格式,转换成yyyy-mm-dd HH:mm:ss function ChangeDateFormat(cellval) { var date = new Date(parse ...

  2. mysql远程命令连接

    #mysql -h 服务器地址 -P 端口 -u账号 -p密码 mysql -uroot -proot

  3. [常用类]排序及Arrays类(简单介绍)

    冒泡排序bubble sort  轻的上浮,重的下沉.两个相邻位置比较,如果前面元素比后面的元素大就换位置 选择排序 select sort 用一个索引上的元素,依次和其他位置上的元素比较,小的放前面 ...

  4. Python之字符串和正则表达式

    使用正则表达式 Python对正则表达式的支持 例子:替换字符串中的不良内容 import re def main(): sentence = '你丫是傻叉吗? 我操你大爷的. Fuck you.' ...

  5. P5444 [APIO2019]奇怪装置

    传送门 考虑求出最小的循环节 $G$ 使得 $t,t+G$ 得到的数对是一样的 由 $y \equiv t \mod B$ ,得到 $G$ 一定是 $B$ 的倍数,设 $zB=G$,则 $t,t+zB ...

  6. Asp.net中GridView使用详解(很全,很经典)

    http://blog.csdn.net/hello_world_wusu/article/details/4052844 Asp.net中GridView使用详解 效果图参考:http://hi.b ...

  7. asp.net 几种传值方法的分析

    本文转自:http://www.cnblogs.com/shengtianlong/archive/2010/08/11/1797608.html ASP.NET页面传值方法的优缺点及适用范围 1. ...

  8. 如何设置移动端的tab栏

    这是添加tab栏的代码: {                     "id": "tabBar1",                     "st ...

  9. 你的package包名有问题!

    今天在Eclipse中运行我的Java程序中,就弹出了以下消息的窗口: 注意窗口的名字为Java Virtual Machine Launcher . Error : A JNI error has ...

  10. thinkphp数据库连接

    https://www.kancloud.cn/manual/thinkphp5/118059 一.配置文件定义 常用的配置方式是在应用目录或者模块目录下面的database.php中添加下面的配置参 ...