sql查询语句练习

mysql> select * from emp;
+-------+--------+-----------+------+------------+------+------+--------+
| empno | ename  | job       | mgr  | hiredate   | sal  | comm | deptno |
+-------+--------+-----------+------+------------+------+------+--------+
|  7369 | SMITH  | CLERK     | 7902 | 1980-12-17 |  800 | NULL |     20 |
|  7499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 | 1600 |  300 |     30 |
|  7521 | WARD   | SALESMAN  | 7698 | 1981-02-22 | 1250 |  500 |     30 |
|  7566 | JONES  | MANAGER   | 7839 | 1981-04-02 | 2975 | NULL |     20 |
|  7654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 | 1250 | 1400 |     30 |
|  7698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 | 2850 | NULL |     30 |
|  7782 | CLARK  | MANAGER   | 7839 | 1981-06-09 | 2450 | NULL |     10 |
|  7788 | SCOTT  | ANALYST   | 7566 | 1987-07-03 | 3000 | NULL |     20 |
|  7839 | KING   | PRESIDENT | NULL | 1981-11-17 | 5000 | NULL |     10 |
|  7844 | TURNER | SALESMAN  | 7698 | 1981-09-08 | 1500 |    0 |     30 |
|  7876 | ADAMS  | CLERK     | 7788 | 1987-07-13 | 1100 | NULL |     20 |
|  7900 | JAMES  | CLERK     | 7698 | 1981-12-03 |  950 | NULL |     30 |
|  7902 | FORD   | ANALYST   | 7566 | 1981-12-03 | 3000 | NULL |     20 |
|  7934 | MILLER | CLERK     | 7782 | 1981-01-23 | 1300 | NULL |     10 |
+-------+--------+-----------+------+------------+------+------+--------+

mysql> select * from dept;
+--------+------------+----------+
| deptno | dname      | loc      |
+--------+------------+----------+
|     10 | ACCOUNTING | NEW YORK |
|     20 | RESEARCH   | DALLAS   |
|     30 | SALES      | CHICAGO  |
|     40 | OPERATIONS | BOSTON   |
+--------+------------+----------+


mysql> select * from salgrade;
+-------+-------+-------+
| grade | losal | hisal |
+-------+-------+-------+
|     1 |   700 |  1200 |
|     2 |  1201 |  1400 |
|     3 |  1401 |  2000 |
|     4 |  2001 |  3000 |
|     5 |  3001 |  9999 |
+-------+-------+-------+

 连接查询(三张表连接)


找出每个员工的部门名称以及工资等级,要求显示员工名、部门名、薪资、薪资等级

select e.ename,d.dname,e.sal,s.grade 
    FROM emp e 
JOIN 
    dept d 
on 
    e.deptno = d.deptno 
join 
    salgrade s 
on 
    e.sal BETWEEN	s.losal and s.hisal

找出每个员工的部门名称以及工资等级还有上级领导,要求显示员工名、领导名、部门名、薪资、薪资等级

SELECT e.ename,e.sal,d.dname,s.grade,p.ename as leadername from emp e JOIN dept d	on e.deptno = d.deptno JOIN  salgrade s on sal BETWEEN s.losal and s.hisal LEFT JOIN emp p on e.mgr = p.empno

SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言,通过它可以执行各种查询、数据插入、更新和删除等操作。进行SQL查询语句练习有助于提高对数据库操作的理解和效率。以下是一些基本的SQL查询语句及其用途: 1. **SELECT**:用于从数据库表中检索数据,是SQL中最常用的语句。例如,`SELECT * FROM table_name`会选择所有列,`SELECT column1, column2 FROM table_name`则选择特定列。 2. **WHERE**:用于筛选满足特定条件的行。如 `SELECT * FROM table_name WHERE condition`,`condition`可以是字段值等于、不等于、大于、小于等。 3. **ORDER BY**:按指定列排序结果,例如 `SELECT * FROM table_name ORDER BY column_name ASC/DESC`。 4. **GROUP BY**:将数据按照某个列分组,常与聚合函数(如COUNT(), SUM(), AVG()等)一起使用。 5. **JOIN**:用于合并两个或更多表的数据,有 INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN 等不同类型。 6. **LIMIT/TOP**:限制返回结果的数量,例如 `SELECT * FROM table_name LIMIT 10`。 7. **INSERT INTO**:用于向表中添加新记录。 8. **UPDATE**:更新表中的现有记录。 9. **DELETE FROM**:删除表中的记录。 10. **CREATE TABLE** 和 **ALTER TABLE**:用于创建和修改数据库表结构。 在练习SQL查询时,可以从以下几个方面入手: 1. 学习基础语法和概念。 2. 挑选一些实际场景,比如查找特定信息、统计数据、合并数据等,编写相应的查询。 3. 尝试使用SQL工具(如MySQL Workbench、phpMyAdmin、SQL Server Management Studio等)进行实践。 4. 解决实际项目中的数据查询需求,提升问题解决能力。 如果你需要进一步深入学习或遇到具体问题,可以告诉我,我会提供更详细的解释和相关问题供你探索。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值