「牛客网-SQL篇」SQL21 浙江大学用户题目回答情况

本文介绍了牛客网上浙江大学用户的SQL题目回答情况,重点关注了SQL中的表连接概念,包括内连接(等值连接、非等值连接、自连接)、外连接(左外连接、右外连接、全连接),并提供了相关案例和解答分析。
摘要由CSDN通过智能技术生成

「牛客网-SQL篇」SQL21 浙江大学用户题目回答情况

题目

SQL21 浙江大学用户题目回答情况

我的解答(错误)

select
    device_id,question_id,result
from
    question_practice_detail qpd
left join
    user_profile up
where
    qpd.device_id=up.device_id and up.university='浙江大学'
    

输出:

SQL_ERROR_INFO: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where\n qpd.device_id=up.device_id and up.university='浙江大学'' at line 7"

知识点复习:表连接

根据表连接的方式分类:

  • 内连接
    • 等值连接
    • 非等值连接
    • 自连接
  • 外连接
    • 左外连接(左连接)
    • 右外连接(右连接)
  • 全连接

内连接-等值连接

案例:查询每个员工所在部门名称?

SQL92语法:

select
	e.ename,d.dname
from
	emp e,dept d
where
	e.deptno = d.deptno;

SQL99语法:

select
	e.ename,d.dname
from
	emp e
join
	dept d
on
	e.deptno = d.deptno;

这里,,改为joinwhere改为onon 后面跟条件。

SQL99语法倡导

  • 表连接条件和后续的筛选条件分离

SQL92语法:

select
	e.ename,d.dname
from
	emp e,dept d
where
	e.deptno = d.deptno and 后面加条件;

缺点:表连接的条件与连接后过滤的条件耦合了,结构不清晰。

SQL99语法:

select
	e.ename,d.dname
from
	emp e
join
	dept d
on
	e.deptno = d.deptno
where
	...

优点:表连接条件是表连接,后续过滤可以加where进行过滤,结构更清晰一些。

SQL99语法:

select
	...
from
	a
join
	b
on
	a和b的连接条件
where
	筛选条件

SQL99语法:

select
	.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值