MySQL基础三

1 SQL99

1.1 SQL99语法

select 查询列表
from 表1 [连接类型] join 表2
on 连接条件
where 筛选条件;
  • 连接类型:
  • 内连接  :inner
  • 外连接:
    • 左外连接: left outer
    • 右外连接:right outer
  • 交叉连接:cross  

1.2 SQL99语法的内连接

1.2.1 内连接的语法

select 查询列表
from 表1 inner join 表2
on 连接条件
[where 筛选条件];

1.2.2 应用

  • 示例:查询员工名和部门名
SELECT
    e.last_name,
    d.department_name
FROM
    employees e
INNER JOIN departments d ON e.department_id = d.department_id;
  • 示例:查询名字中包含e的员工名和工种名
SELECT
    e.last_name,
    j.job_title
FROM
    employees e
INNER JOIN jobs j ON e.job_id = j.job_id
WHERE
    e.last_name LIKE ‘%e%‘;
  • 示例:查询部门个数>3的城市名和部门个数
SELECT
    l.city,
    count(*) `count`
FROM
    departments d
INNER JOIN locations l ON d.location_id = l.location_id
GROUP BY
    l.city
HAVING
    `count` > 3;
  • 示例:查询那个部门的员工个数>3的部门名和员工个数,并按照个数降序
SELECT
    d.department_name,
    count(*) 员工个数
FROM
    employees e
INNER JOIN departments d ON e.department_id = d.department_id
GROUP BY
    d.department_name
HAVING
    员工个数 > 3;
  • 示例:查询员工名、部门名、工种名,并按照部门名降序
SELECT
    e.last_name 员工名,
    d.department_name 部门名,
    j.job_title 工种名
FROM
    employees e
INNER JOIN departments d
INNER JOIN jobs j ON e.department_id = d.department_id
AND e.job_id = j.job_id
ORDER BY
    部门名;
  • 示例:

原文地址:https://www.cnblogs.com/xuweiweiwoaini/p/9533062.html

时间: 2024-07-31 05:46:53

MySQL基础三的相关文章

04 mysql 基础三 (进阶)

mysql 基础三 阶段一 mysql 单表查询 1.查询所有记录 select * from department; ? select * from student; ? select * from student_detail; 2.查询选中列记录 select s_name from student; 3.查询指定条件下的记录 select s_name from student where s_id>2; 4.查询后为列取别名 select s_name as 姓名 from stude

mysql基础三(视图、触发器、函数、存储过程、事务、防注入)

一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 1.创建视图 -格式:CREATE VIEW 视图名称 AS SQL语句 CREATE VIEW v1 AS SELET nid, name FROM A WHERE nid > 4 2.删除视图 --格式:DROP VIEW 视图名称 DROP VIEW v1 3.修改视图 -- 格式:ALTER VIEW 视图名称 AS SQL

MySQL基础 三 数值类型,索引

My 1am,1pm 数值类型 Int(4) Float(5,2) Varchar(4) 枚举类型 Enum('female','male') Set('book','football','A'-.最多64个) 约束条件 Null                         Default                        Extra 默认为允许                   默认null Not null                     default 值 Key

Mysql基础(三)

#DML语言 /* 数据操作语言 插入:insert insert into 表名(列名,...) values(值1,...); insert into 表名 set 列名=值, 列名=值,... 修改:update 删除:delete */ CREATE TABLE beauty( id INT(11) PRIMARY KEY, `name` VARCHAR(50), sex CHAR(1), borndate DATETIME, phone VARCHAR(11), photo BLOB,

MySQL基础(三):过滤数据

过滤数据 使用SELECT语句的WHERE子句指定搜索条件. 使用WHERE子句 在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤. WHERE子句在表名(FROM子句)之后给出,如下所示: 输入 SELECT prod_name, prod_price FROM products WHERE prod_price = 2.50; 输出 分析 这条语句从products表中检索两个列,但不返回所有行,只返回prod_price值为2.50的行. 注意:在同时使用ORDERBY

MySql基础教程(三)——查询训练

在MySql两轮基础的学习之后,来一波实战演习... 三张表:学生表,课程表,成绩表. 建表详细信息见 MySql基础教程(一)

MySQL基础(三)——约束

MySQL基础(三)--约束 1.约束的使用方法 2.指定约束的时间 3.not null约束 4.unique约束 5.primary key约束 6.foreign key约束 7.check约束

MYSQL基础笔记(三)-表操作基础

数据表的操作 表与字段是密不可分的. 新增数据表 1 Create table [if not exists] 表名( 2 字段名 数据类型, 3 字段名 数据类型, 4 字段n 数据类型 --最后一行不需要加逗号 5 )[表选项]; If not exists:如果表名不存在,那么就创建,否则不执行创建代码,实现检查功能. 表选项:控制表的表现 1.字符集:charset/character 具体字符集:--保证表中数据存储的字符集. 2.校对集:collate 具体校对集: 3.存储引擎:e

MySQL基础实战

一.数据库基础: DBMS:数据库管理系统(Database Management System) RDBMS:关系数据库管理系统(Relational Database Management System) C/S:通过专有协议 关系模型:表(行,列),二维关系 范式:第一范式,第二范式,第三范式: 关系运算: 选择 投影 数据库:表,索引,视图(虚表) SQL:结构化查询语言 DDL:数据定义语言 DML:数据操作语言 编程接口: 自行定义存储过程 自行定义存储函数 触发器: 时间调度器:类