在 MySQL 中检索数据的查询

Queries to retrieve data in MySQL

我有 3 个 table。

一个。销售人员(SSN, lName, startYear, deptNo)

b。旅行(旅行ID,SSN,从城市,到城市,出发日期,返回日期)

c。费用(tripID,accountNumber,金额)

每个 table 的主键是。销售人员的 SSN table。旅行的 TripId table,以及费用的 tripID 和帐号 table。

每个 table 的外键是。销售人员的部门编号 table。行程中的 SSN table,费用中的 tripID Table


我想做什么:

1) 查找 tripID、SSN、fromCity、tocity、departureDate、returnDate 和费用超过 2000 美元的旅行金额。

2) 查找前往“芝加哥”的销售代表的 SSN。

3) 找出 SSN = ‘123-45-6789’ 的销售员的旅行总费用。

我没有创建任何这些,这是学校的练习作业,非常感谢您的帮助,请不要使用非常专业的语言。

您似乎在寻求作业的完整解决方案。 Whosebug 是一个 Q&A(问答)网站。你不会,或者至少你不应该,得到任何帮助,除非你表明你至少尝试过自己编写查询。如果您无法让您编写的查询正常工作,人们会很乐意帮助解决特定问题。

我建议您尝试本教程,特别注意第 1、3、4、5、11、8、17 和 18 节:

25 Essential MySQL Select Command Examples

编辑添加:我建议您首先处理第二个查询,因为它最简单。如果你能让那个工作正常,你应该能够扩展你的理解以实现其他两个。

1.

SELECT tripID,SSN,fromCity,tocity,departureDate,returnDate
FROM
(SELECT Trip.tripID, Trip.SSN, Trip.fromCity, Trip.tocity, Trip.departureDate, Trip.returnDate,sum(Expense.amount) total
FROM Trip left join Expense
ON Trip.tripID = Expense.tripID
GROUP BY Trip.tripID) data
WHERE data.total>2000

2.

SELECT distinct SSN 
FROM Trip 
WHERE fromCity='Chicago'

3.

SELECT sum(Expense.amount) total
    FROM Trip left join Expense
    ON Trip.tripID = Expense.tripID
GROUP BY Trip.SSN = '123456789'

这些你得自己查了。