SQL查询实战33例

1、查询所有银行员工的员工 ID、名字和姓氏,并按姓氏排序,姓氏相同时按名字排序。

SELECT emp_id, fname, lname 
FROM employee 
ORDER BY lname, fname;

2、检索所有状态为’ACTIVE’且可用余额大于 2500 美元的账户的账户 ID、客户 ID 和可用余额。

查询语句如下:

SELECT account_id, cust_id, avail_balance 
FROM account 
WHERE status = 'ACTIVE' 
  AND avail_balance > 2500;

查询结果如下:

account_id cust_id avail_balance
3 1 3000.00
10 4 5487.09
13 6 10000.00
14 7 5000.00
15 8 3487.19
18 9 9345.55
20 10 23575.12
22 11 9345.55
23 12 38552.05
24 13 50000.00

3、编写一个针对 account 表的查询,返回开设账户的员工的 ID(使用 account.open_emp_id 列)。每个不同的员工只包含一行。

SELECT DISTINCT open_emp_id FROM account;

4、为以下多数据集查询中的空白处(用 <#> 表示)填空,以实现所示结果:mysql> SELECT p.product_cd, a.cust_id, a.avail_balance -> FROM product p INNER JOIN account <1> -> ON p.product_cd = <2> -> WHERE p.<3> = ‘ACCOUNT’;

<1> a;<2> a.product_cd;<3> product_type_cd

5、以下过滤条件会返回哪些交易 ID?交易日期 < ‘2005-02-26’ 并且(交易类型代码 = ‘DBT’ 或者交易金额 > 100)

由于没有提供交易相关数据,无法确定该答案是否正确,故输出 DELETE

6、以下过滤条件会返回哪些交易 ID?账户 ID 在 (101,103) 中,并且不满足(交易类型代码为 ‘DBT’ 或金额大于 100)

4 和 9

7、构建一个查询,检索出所有在2002年开立的账户。

SELECT * FROM account WHERE EXTRACT(YEAR FROM open_date) = 2002;

8、构建一个查询,找出所有姓氏的第二个位置包含字母 ‘a’ 且在 ‘a’ 之后的任意位置包含字母 ‘e’ 的非企业客户。

SELECT cust_id, lname, fname 
FROM individual 
WHERE lname LIKE '_a%e%';

9、为以下查询中的空白处(用 <#> 表示)填空,以得到后续结果:mysql> SELECT e.emp_id, e.fname, e.lname, b.name -> FROM employee e INNER JOIN <1> b -> ON e.assigned_branch_id = b.<2>;

<1> 填 branch;<2> 填 branch_id

10、编写一个查询,返回每个非企业客户(customer.cust_type_cd = ‘I’)的账户 ID,以及客户的联邦 ID(customer.fed_id)和账户所基于的产品名称(product.name)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值