MySQL基础:常用查询语句,联表查询,外键约束

本文深入探讨SQL查询语句的使用,包括ORDER BY、LIMIT等关键字的应用,并详细讲解了联表查询的不同类型:内连接、左连接、右连接及全连接。同时,介绍了外键约束的设置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用查询语句

ORDER BY

  • ORDER BY DESC 降序
  • ORDER BY ASC 升序

LIMIT

limit 3 --# 显示3条
limit 1, 3 --# 显示3条 偏移1个位置

-- # 更新操作时limit只能有一个参数
UPDATE user SET age = age+3 limit 3

联表查询

外连接

左连接

LEFT JOIN ON
左外连接包含left join左表所有行,如果左表中某行在右表没有匹配,则结果中对应行右表的部分全部为空(NULL)。

select * from student left join course on student.ID=course.ID
右连接

RIGHT JOIN ON
右外连接包含right join右表所有行,如果左表中某行在右表没有匹配,则结果中对应左表的部分全部为空(NULL)。

select * from course right join studenton student.ID=course.ID
全连接

FULL JOIN
完全外连接包含full join左右两表中所有的行,如果右表中某行在左表中没有匹配,则结果中对应行右表的部分全部为空(NULL),如果左表中某行在右表中没有匹配,则结果中对应行左表的部分全部为空(NULL)。

select * from student full join course on student.ID=course.ID

内连接

JOIN 或 INNER JOIN
内连接是比较运算符,只返回符合条件的行。

select * from student inner join course on student.ID=course.ID

外键约束

CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…]
REFERENCES <主表名> 主键列1 [,主键列2,…]

表 tb_dept1

mysql> CREATE TABLE tb_dept1
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(22) NOT NULL,
    -> location VARCHAR(50)
    -> );

表 tb_emp6

mysql> CREATE TABLE tb_emp6
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT,
    -> CONSTRAINT fk_emp_dept1
    -> FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
    -> );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值