Explain MySQL to MS SQL Server query syntax differences.

Quick Overview

This question evaluates a candidate's understanding of SQL dialect differences between MySQL and MS SQL Server — including alias scope, CTE structure, ordering semantics, and lexical range comparisons that affect query portability and correctness.

Explain MySQL to MS SQL Server query syntax differences.

Company: Amazon

Role: Data Scientist

Category: Data Manipulation (SQL/Python)

Difficulty: medium

Interview Round: Onsite

transactions | id | user_id | amount | txn_date | |----|---------|--------|----------| | 1 | 1001 | 25.00 | 2023-07-01 | | 2 | 1002 | 40.00 | 2023-07-02 | | 3 | 1001 | 15.00 | 2023-07-03 | | 4 | 1003 | 60.00 | 2023-07-03 | | 5 | 1001 | 30.00 | 2023-07-04 | ##### Scenario You are migrating analytics queries from MySQL to MS SQL Server and need to verify candidates understand subtle syntax differences, CTE structure, aliases, ordering and equivalence of filtering clauses. ##### Question In MySQL the query SELECT id, COUNT(*) AS transactions FROM transactions GROUP BY id HAVING transactions > 10; runs, but the same fails in MS SQL Server. Explain why and rewrite a version portable to both engines. ​ What does the statement "SELECT * FROM A B;" do and why can it be legal SQL? ​ Given ORDER BY id, ORDER BY id ASC and ORDER BY id DESC, which one produces a different ordering and why? ​ Provide the correct multi-CTE skeleton that defines two CTEs, A and B, then queries them. ​ Will the following three predicates return identical rows for a char column containing only upper-case letters? Justify. a) col IN ('A','B','C') b) col BETWEEN 'A' AND 'C' c) col >= 'A' AND col <= 'C' ##### Hints Focus on alias scope rules, default sort order, comma vs alias syntax, WITH clause commas, and lexical range comparisons.

Quick Answer: This question evaluates a candidate's understanding of SQL dialect differences between MySQL and MS SQL Server — including alias scope, CTE structure, ordering semantics, and lexical range comparisons that affect query portability and correctness.

|Home/Data Manipulation (SQL/Python)/Amazon
Amazon logo
Amazon
Aug 4, 2025, 10:55 AM
mediumData ScientistOnsiteData Manipulation (SQL/Python)
105
0

transactions

iduser_idamounttxn_date
1100125.002023-07-01
2100240.002023-07-02
3100115.002023-07-03
4100360.002023-07-03
5100130.002023-07-04
Scenario

You are migrating analytics queries from MySQL to MS SQL Server and need to verify candidates understand subtle syntax differences, CTE structure, aliases, ordering and equivalence of filtering clauses.

Question

In MySQL the query

SELECT id, COUNT(*) AS transactions

FROM transactions

GROUP BY id

HAVING transactions > 10;

runs, but the same fails in MS SQL Server. Explain why and rewrite a version portable to both engines.

What does the statement "SELECT * FROM A B;" do and why can it be legal SQL?

Given ORDER BY id, ORDER BY id ASC and ORDER BY id DESC, which one produces a different ordering and why?

Provide the correct multi-CTE skeleton that defines two CTEs, A and B, then queries them.

Will the following three predicates return identical rows for a char column containing only upper-case letters? Justify.

a) col IN ('A','B','C')

b) col BETWEEN 'A' AND 'C'

c) col >= 'A' AND col <= 'C'

Hints

Focus on alias scope rules, default sort order, comma vs alias syntax, WITH clause commas, and lexical range comparisons.

Loading comments...