博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《学习》5连接查询(高级查询)
阅读量:4560 次
发布时间:2019-06-08

本文共 1674 字,大约阅读时间需要 5 分钟。

CREATE TABLE t(

tid INT UNSIGNED NOT NULL AUTO_INCREMENT,
tname VARCHAR(30),
PRIMARY KEY (tid)
)ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET =utf8;

INSERT INTO t VALUES(NULL,'李老师'),(NULL,'赵老师'),(NULL,'张老师');

SELECT * FROM t;

CREATE TABLE s(

sid INT UNSIGNED NOT NULL AUTO_INCREMENT,
sname VARCHAR(10)NOT NULL,
sgender ENUM ('男','女','人妖'),
sdept VARCHAR(20) NOT NULL DEFAULT '计算机科学',
sscore INT UNSIGNED,
tid INT UNSIGNED,
PRIMARY KEY(sid)
)ENGINE=MYISAM AUTO_INCREMENT=1601 DEFAULT CHARSET =utf8;
INSERT INTO s VALUES(NULL,'张三','男','美术',80,1),(NULL,'张三丰','人妖','英语',45,2);
INSERT INTO s VALUES(NULL,'李丽','女','美术',90,3),(NULL,'黄瑶','女','财经',99,3);

INSERT INTO s(sname,sgender,sscore) VALUES('赵磊','男',50),('周磊','人妖',68);

DROP TABLE job;

SELECT * FROM s;

-- 多表查询(不推荐使用)

SELECT s.`sid`,s.`sname`,t.`tname`
FROM s,t
WHERE s.tid = t.tid;

-- 连接查询 join left join right join
SELECT s.`sid` 学号,s.`sname` 姓名,s.`sdept` 专业,IF(t.`tname` IS NULL,'没安排老师',t.`tname`) 老师
FROM s LEFT JOIN t ON s.`tid`=t.`tid`;

 

CREATE TABLE job(

jid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
jname VARCHAR(20) NOT NULL,
jgender ENUM('男','女'),
jpjid INT
)ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET =utf8;

INSERT INTO job VALUES(NULL,'张三','男',NULL);

INSERT INTO job VALUES(NULL,'李四','男',1);
INSERT INTO job VALUES(NULL,'王五','女',1);
INSERT INTO job VALUES(NULL,'赵六','男',3);

SELECT * FROM job;

DESC job;

-- 查询每个员工的编号姓名及领导的名字

-- 自连接查询
SELECT j1.`jid` 编号,j1.`jname` 姓名,j2.`jname` 领导姓名
FROM job j1,job j2
WHERE j1.jpjid=j2.jid

SELECT j1.`jid` 编号,j1.`jname` 姓名,IF(j2.`jname` IS NULL,'总经理',j2.`jname`) 领导姓名

FROM job j1 LEFT JOIN job j2
ON j1.jpjid=j2.jid

转载于:https://www.cnblogs.com/huangf714/p/8630511.html

你可能感兴趣的文章
如何修改 ubuntu系统中shell中命令行起始的@符号后面的字符
查看>>
了解数据产品经理
查看>>
Chromium被用于Microsoft Edge与ChakraCore的未来【译】
查看>>
C# 序列化与反序列化
查看>>
Ubuntu的一些文件系统的操作(转自我自己的其他博客)
查看>>
python学习中的bug
查看>>
多线程(3)
查看>>
sizeof(即类型大小)详解-转自http://veryti.com/question/443
查看>>
[恢]hdu 1005
查看>>
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问 ....
查看>>
views_object / views_db_object
查看>>
静态缓存
查看>>
在线编辑器ckeditor配置与使用
查看>>
出圈问题C++源码(STLVector)
查看>>
instanceof语法解释
查看>>
计算字符串的高度
查看>>
CSS中对图片(background)的一些设置心得总结
查看>>
iOS 定位功能
查看>>
1776. Anniversary Firework sdut 2507 焰火表演
查看>>
sdut 1483 红色警戒之CZ的复仇
查看>>