day20

关联查询

#左连接:表名 left join 表名 以左表为主表,只显示与左表能匹配的行
SELECT s.*,q.* FROM student AS s LEFT JOIN queue_info AS q ON s.q_id = q.id;
#右链接:以右边的表为主表,只显示与右表能匹配的行
SELECT s.*,q.* FROM student AS s RIGHT JOIN queue_info AS q ON s.q_id = q.id;
#内连接:只显示两边都能匹配上的行
SELECT s.*,q.`name` FROM student AS s INNER JOIN queue_info AS q ON s.q_id = q.id;

多表联查

#多表联查:和内连接差不多,都是只显示多表都能匹配上的行,只有查询的语法不同
SELECT s.*,q.* FROM student AS s,queue_info AS q WHERE s.q_id = q.id;

子查询in

//查询出的结果被用到另一个查询语句中
select*from student where q_id in(
select id from queue_info
)

合并结果集(联合查询)union

用于合并两个或者多个select语句的结果集

1 union不允许出现重复的字段组合.即union 会剔除重复的行;(去除重复的字段组合)

2 如果要允许出现重复的行,应该使用union all,即union all会列出全部的行;

注意:

union内部的每个select都必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每个select语句中的列顺序也必须相同

select c1,c2... from table1
union
select c3,c4... from table2;

数据库定义语言DDL

1 创建表 CREATE TABLE [table_name]

# PRIMARY KEY 声明主键
# ENGINE=InnoDB 声明数据库引擎
# AUTO_INCREMENT=1 声明主键自增的起始值从1开始
# CHARSET=utf8 声明字符编码
# COMMENT 字段注释
CREATE TABLE user_info(
id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
user_name VARCHAR(55) NOT NULL COMMENT '用户名',
pass_word VARCHAR(255) NOT NULL COMMENT '密码',
type INT DEFAULT 0 COMMENT '用户类型 0-普通用户 1-管理员',
PRIMARY KEY(id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
COMMENT '用户信息表';

2 删除表DROP TABLE

DROP TABLE user_info;

3 修改字段MODIFY COLUMN

# modify修改,修改表中某一字段的数据类型、长度、默认值、注释等
ALTER TABLE user_info
MODIFY COLUMN pass_word int(20) NOT NULL COMMENT '密码';

4 添加表字段ADD COLUMN

ALTER TABLE user_info
ADD COLUMN create_time datetime DEFAULT now() COMMENT '创建日期';

5 字段重命名CHANGE

# ALTER TABLE [table_name] CHANGE [old_column_name] [new_column_name] [data_type];
ALTER TABLE user_info
CHANGE old_type new_type INT DEFAULT 0 COMMENT '用户类型 0-普通用户 1-管理员';

6 删除字段

ALTER TABLE table_name
DROP COLUMN column_name;

day20 关联查询与多表联查 & 子查询与union联合查询 & 数据库定义语言DDL的更多相关文章

  1. [办公自动化] 再读《让EXCEL飞》(从excel导入access数据时,union联合查询,数据源中没有包含可见的表格)

    一年多以前就买了@Mrexcel的<让excel飞>这本书.整体思路是利用access结合excel,大幅度提高数据分析效率. 最近又拿出来看了看.第十五章,比高级筛选更“高级”,P241 ...

  2. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

    /*进阶 11 DDL 数据库定义语言 库和表的管理 一:库的管理:创建/修改/删除 二:表的管理:创建/修改/删除 创建: CREATE DATABASE [IF NOT EXISTS] 库名; 修 ...

  3. MySQL:记录的增删改查、单表查询、约束条件、多表查询、连表、子查询、pymysql模块、MySQL内置功能

    数据操作 插入数据(记录): 用insert: 补充:插入查询结果: insert into 表名(字段1,字段2,...字段n) select (字段1,字段2,...字段n) where ...; ...

  4. 【授课录屏】JavaScript高级(IIFE、js中的作用域、闭包、回调函数和递归等)、MySQL入门(单表查询和多表联查)、React(hooks、json-server等) 【可以收藏】

    一.JavaScript授课视频(适合有JS基础的) 1.IIFE 2.js中的作用域 3.闭包 4.表达式形式函数 5.回调函数和递归 资源地址:链接:https://pan.baidu.com/s ...

  5. 02-2--数据库MySQL:DDL(Data Definition Language:数据库定义语言)操作数据库中的表(二)

    DDL对数据库的操作:http://blog.csdn.net/baidu_37107022/article/details/72334560 DDL对数据库中表的操作 1)方法概览 2)演示 //创 ...

  6. VBA+SQL transform pivot union联合查询的基础应用

    Sub 项目状态查询() '如果“项目状态”是未转运营那么实施状态是不能选择的,因为还没有实施.'如果“项目状态”选择状态后,那么项目名称里面只显示该状态的项目名称.如果“项目状态”选择的不是未转运营 ...

  7. SqlSever基础 union 联合查询,厉害的并集 重复项只显示一个 两个查询结果并在一起后排序

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  8. MySQL开发——【联合查询、多表连接、子查询】

    联合查询 所谓的联合查询就是将满足条件的结果进行拼接在同一张表中. 基本语法: select */字段 from 数据表1 union [all | distinct] select */字段 fro ...

  9. mysql数据库中的多表查询(内连接,外连接,子查询)

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...

  10. MySQL (六)--外键、联合查询、子查询

    1 外键 外键:foreign key,外面的键(键不在自己表中),如果一张表中有一个字段(非主键)指向另外一张表的主键,那么将该字段称为外键. 1.1 增加外键 外键可以在创建表的时候或创建表之后增 ...

随机推荐

  1. Python数据科学手册-Pandas:累计与分组

    简单累计功能 Series sum() 返回一个 统计值 DataFrame sum.默认对每列进行统计 设置axis参数,对每一行 进行统计 describe()可以计算每一列的若干常用统计值. 获 ...

  2. 事件循环:微任务和宏任务在v8中实现的简单理解

    微任务 在js中,当使用promise,会将当前任务加入事件执行的微任务队列,有且只有这一种方法可以,因为当使用了promise,在JS引擎中会触发VM::queueMicrotask,会向m_mic ...

  3. Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。

    题目2:编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计.之后,可根据显示的内容进行某条记录的删除(以id为条 ...

  4. sql语句优化小结

    sql的优化技巧. 1.用join进行子查询的优化. 低效的子查询 select a.user_name,a.over,(select over from user2 b where a.user_n ...

  5. Autobus 方法记录

    原题链接 [COCI2021-2022#4] Autobus 题目描述 在一个国家里有 \(n\) 座城市.这些城市由 \(m\) 条公交线路连接,其中第 \(i\) 条线路从城市 \(a_i\) 出 ...

  6. 变量的复制&传递

    变量的复制 变量的类型 可以分为基本数据类型(Null.Undefined.Number.String.Boolean)和引用类型(Funtion.Object.Array) 基本数据类型是按照值访问 ...

  7. Linux正则表达式与grep

    bash是什么 bash是一个命令处理器,运行在文本窗口中,并能执行用户直接输入的命令 bash还能从文件中读取linxu命令,称之为脚本 bash支持通配符.管道.命令替换.条件判断等逻辑控制语句 ...

  8. 驱动开发:内核LDE64引擎计算汇编长度

    本章开始LyShark将介绍如何在内核中实现InlineHook挂钩这门技术,内核挂钩的第一步需要实现一个动态计算汇编指令长度的功能,该功能可以使用LDE64这个反汇编引擎,该引擎小巧简单可以直接在驱 ...

  9. 各种优化器对比--BGD/SGD/MBGD/MSGD/NAG/Adagrad/Adam

    指数加权平均 (exponentially weighted averges) 先说一下指数加权平均, 公式如下: \[v_{t}=\beta v_{t-1}+(1-\beta) \theta_{t} ...

  10. 配置jmeter环境变量

    好记性不如烂笔头. 本文采用jmeter5.4.1版本.  1. Linux系统 1.1 将jmeter上传到安装目录并解压 jmeter5.4.1链接: https://pan.baidu.com/ ...