sql之limite查询、join连接

limite
  • limite 是可以用在order by 语句后面用于打印排序后的前几条记录
示例1:打印grade排名后三的学生信息
select * from Student order by grade limite 3;
示例:打印grade排名第三的学生信息
select * from Student order by grade desc limite 2,1;
#其中limite 2,1是跳过第二条记录打印一个记录,也就是打印第三条记录
desc是倒序,aes是升序(order by 语句默认值为升序)

join连接

  • INNER JOIN:如果两表中有匹配,则返回行
  • LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN:只要其中一个表中存在匹配,则返回行
示例(牛客网):
查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括展示没有分配具体部门的员工
CREATE TABLE dept_emp (
emp_no int(11) NOT NULL,
dept_no char(4) NOT NULL,
from_date date NOT NULL,
to_date date NOT NULL,
PRIMARY KEY (emp_no,dept_no));
CREATE TABLE employees (
emp_no int(11) NOT NULL,
birth_date date NOT NULL,
first_name varchar(14) NOT NULL,
last_name varchar(16) NOT NULL,
gender char(1) NOT NULL,
hire_date date NOT NULL,
PRIMARY KEY (emp_no));
输入描述:
无
输出描述:
last_name      first_name         dept_no
Facello        Georgi             d001
省略            省略               省略
Sluis          Mary               NULL(在sqlite中此处为空,MySQL为NULL)
sql语句为:
select employees.last_name,employees.first_name,dept_emp.dept_no
from employees left join dept_emp on employees.emp_no=dept_emp.emp_no;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值