SQL 子查询 - 您执行 SELECT 语句的顺序是什么?

标签 sql database

我几天前才开始学习 SQL,我想了解在构建子查询时我应该以何种顺序使用 SELECT 语句。这是我正在努力完成的一个简单示例。

我有两个表 - 一个指定客户列表的人口统计数据,另一个详细说明他们是如何听说我们公司的。

在第一个表中,我的客户在性别列中被列为男性或女性,然后在下一列中指定了他们的种族(高加索人、非裔美国人、西类牙裔等)。

在第二个表中,有一个推荐列,指定他们是如何听说我们公司的(电视、广播、网站等)。

我想先按性别过滤客户(我只想显示女性数据),然后我想统计表中列出的每个种族的客户通过我们的网站找到我们的次数。

SELECT Ethnicity, COUNT(Referral)
FROM Demographics, Marketing
WHERE Demographics.id = Marketing.source_id
AND Referral = 'website'
/* confused about how to put subquery here saying Gender = 'Female' */
ORDER BY Ethnicity

基本上,我对如何正确包含子查询以及是否以正确的顺序进行过滤感到困惑。

但我希望我的表格看起来像这样:

/*Data is shown for ONLY Females */

Referral        Caucasian     African American       Hispanic      Asian

website          7             19                     14            22

对不起,这段代码可能真的很乱。如果可以,请帮忙。

最佳答案

根据您的描述,您不需要子查询:

SELECT Ethnicity, COUNT(Referral)
FROM Demographics, Marketing
WHERE Demographics.id = Marketing.source_id
AND Referral = 'website'
AND Gender = 'Female'
ORDER BY Ethnicity

...请注意,这为您提供了与您所显示的结果集不同的结果集,但是,对于种族,每一行都要计数。

关于SQL 子查询 - 您执行 SELECT 语句的顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6405780/

相关文章:

mysql - 基本 mySQL - 不知道如何显示所有结果,包括 0

java - 从java问题连接到数据库

database - 如何提供具有不同数据库架构的 API 的多个版本?

mysql - mysql数据库逻辑是否适合查询?

python - 将 .sql 数据库转储转换为 pandas 数据框

sql - SELECT IDENT_CURRENT (‘tablename’ ) 在 Oracle 中

MySQL 与 SQL 的区别

sql - 如何根据 SQLite 表中的总分检索排名

ruby-on-rails - 回滚特定迁移而不回滚其他迁移

sql - 为什么没有数据库完全支持 ANSI 或 ISO SQL 标准?