All Snowflake exams
Free DAA-C01 practice test: 30 questions with answers
30 original questions for SnowPro Advanced: Data Analyst, drawn from every topic area. Answer each one to see whether you got it right and why. No sign-up.
- Free questions
- 30
- Full bank
- 100 questions
All 30 DAA-C01 questions with answers
The same questions as the test above, grouped by exam topic. Open any question to see the answer and explanation.
Snowflake data model and SQL (5 questions)
Question 1
In Snowflake, which object is the top-level container that holds schemas and is typically named for an environment or business unit?
- AWarehouse
- BDatabase
- CStream
- DStage
Show answer and explanationHide answer
Correct answer: BA database contains schemas and is the top-level container under an account. Warehouses provide compute, stages hold files, and streams track changes.
Question 2
A Snowflake user needs compute resources to run queries. Which object provides this compute?
- AOutbound share
- BVirtual warehouse
- CInformation schema
- DFunctional role
Show answer and explanationHide answer
Correct answer: BVirtual warehouses supply compute for queries. Schemas organize objects, shares distribute data, and roles govern privileges.
Question 3
A team wants to query a table as it looked two hours ago without restoring it. Which Snowflake feature supports this?
- AClustering keys
- BTime Travel
- CData sharing only
- DMaterialized views only
Show answer and explanationHide answer
Correct answer: BTime Travel allows querying historical data within the retention period. Data sharing distributes data, clustering organizes storage, and materialized views store query results.
Question 4
A Snowflake analyst wants to store query results that are expensive to recompute and must be refreshed automatically when the base table changes. Which object should be used?
- AMaterialized view
- BA plain text file
- CA stage
- DTemporary table for one session
Show answer and explanationHide answer
Correct answer: AA materialized view stores precomputed results and maintains them as underlying data changes. Session tables are temporary, text files are outside the platform, and stages hold files.
Question 5
Analysts want to query semi-structured JSON data stored in a VARIANT column. Which syntax extracts a field called name from the JSON?
- Apayload[name]
- Bpayload.name()
- Cpayload:name
- Dpayload->name()
Show answer and explanationHide answer
Correct answer: CSnowflake uses colon notation for VARIANT paths such as payload:name. The other syntaxes are not Snowflake's path notation for this purpose.
Data loading and transformation (5 questions)
Question 6
A team loads a large set of CSV files daily into a table and wants to avoid loading files that were already loaded. Which Snowflake feature tracks load history for this?
- ACOPY INTO with load metadata that prevents re-loading the same files
- BRenaming the incoming files with the same name each day
- CDeleting the internal stage object after each load run completes
- DLoading with TRUNCATE TABLE on every scheduled run before the new files are read
Show answer and explanationHide answer
Correct answer: ACOPY INTO tracks file load metadata so already-loaded files are skipped by default. Truncating loses history, deleting stages removes files, and reusing names confuses tracking.
Question 7
A load fails partway because some rows contain invalid values. The team wants to load the valid rows and see the rejected ones. Which option supports this?
- ALoading the file into a VARIANT column with no schema
- BON_ERROR set to continue with validation of the rejected rows
- CDeleting the bad rows manually in the source file
- DON_ERROR set to abort the whole load with no logs
Show answer and explanationHide answer
Correct answer: BON_ERROR continue loads valid rows and validation reports the rejects. Aborting stops everything, no schema makes errors worse, and manual edits are unreliable.
Question 8
A data analyst wants to transform raw semi-structured events into a relational table on a schedule. Which combination is most appropriate?
- AA task that runs a SQL statement that flattens the VARIANT data into the target table
- BExporting the raw events to a spreadsheet and pivoting the columns by hand weekly
- CStoring the events as compressed image files in an archive bucket for later
- DA manual copy-paste of the raw events into the target table every morning before dashboards refresh
Show answer and explanationHide answer
Correct answer: AA scheduled task with SQL that flattens VARIANT data automates the transformation. Manual copies, spreadsheets and images are not reliable pipelines.
Question 9
An analyst must merge incoming change records into a target table, updating existing rows and inserting new ones. Which statement performs this in one operation?
- AINSERT OVERWRITE only
- BMERGE INTO
- CCREATE TABLE AS SELECT only
- DSELECT INTO
Show answer and explanationHide answer
Correct answer: BMERGE performs conditional updates and inserts in one statement. SELECT INTO is not Snowflake's merge, INSERT OVERWRITE replaces data, and CTAS creates new tables.
Question 10
A table is updated frequently, and a dashboard needs the latest data within minutes. Which approach keeps the dashboard current with limited manual effort?
- ARefreshing the dashboard manually each hour by opening the report and clicking refresh button
- BA stream on the table with a task that processes new changes on a short schedule
- CReloading the entire table from a full source extract once a month
- DTurning off updates to the table during the nightly reporting window
Show answer and explanationHide answer
Correct answer: BStreams with tasks process changes incrementally on a short schedule. Monthly reloads, manual refreshes and disabling updates do not keep data current efficiently.
Data analysis fundamentals (5 questions)
Question 11
An analyst needs the total sales per region for the current year from a large sales table. Which SQL clause groups rows to compute the totals?
- AWHERE region keeps raw rows
- BGROUP BY region with SUM(sales)
- CORDER BY region sorts result rows
- DHAVING region filters the output rows
Show answer and explanationHide answer
Correct answer: BGROUP BY with an aggregate computes totals per group. ORDER BY sorts, WHERE filters rows before grouping, and HAVING filters groups after aggregation.
Question 12
An analyst wants to keep only regions whose total sales exceed one million. Which clause filters the groups after aggregation?
- AHAVING SUM(sales) > 1000000
- BWHERE SUM(sales) > 100000
- CORDER BY SUM(sales) DESC
- DLIMIT 1000000 OFFSET 500
Show answer and explanationHide answer
Correct answer: AHAVING filters on aggregated values. WHERE cannot reference aggregates, ORDER BY sorts, and LIMIT caps rows.
Question 13
A query must return each order alongside the average order value of its customer's region, without collapsing the rows. Which SQL feature does this?
- AA window function such as AVG(...) OVER (PARTITION BY region)
- BGROUP BY customer_region with AVG(order_value) in SELECT
- CUNION ALL of orders with a regional_orders_archive table
- DDISTINCT region, customer_id, order_date, order_status
Show answer and explanationHide answer
Correct answer: AWindow functions compute aggregates while keeping every row. GROUP BY collapses rows, DISTINCT removes duplicates, and UNION ALL stacks result sets.
Question 14
An analyst wants a running total of daily sales ordered by date. Which construct computes this?
- AMAX(sale_date) returned as one scalar value
- BSUM(sales) GROUP BY sale_date, store_id
- CSUM(sales) OVER (ORDER BY sale_date)
- DCOUNT(*) WHERE sale_date IS NULL LIMIT 1
Show answer and explanationHide answer
Correct answer: CA windowed SUM ordered by date gives a running total. A group-by without window does not keep rows, COUNT of nulls is unrelated, and MAX returns one value.
Question 15
A table contains duplicate customer rows, and the analyst needs one row per customer ID. Which technique removes the duplicates?
- ACROSS JOIN customers_master with a customer_ids lookup table
- BUNION ALL of the customer_master table with a copy of itself
- CORDER BY customer_id, created_at DESC, last_login NULLS LAST
- DSELECT DISTINCT or a window with ROW_NUMBER to keep one row per ID
Show answer and explanationHide answer
Correct answer: DDISTINCT or ROW_NUMBER partitioning keeps one row per ID. UNION ALL duplicates rows, CROSS JOIN multiplies rows, and ORDER BY does not remove them.
Analytics and visualization (5 questions)
Question 16
A business user wants a chart that shows the share of total revenue held by each product category at a single point in time. Which chart is most suitable?
- AA histogram of product names, binned by first letter of each name
- BA line chart of revenue tracked over several decades
- CA scatter plot of product IDs against the warehouse shipping weight
- DA 100 percent stacked bar or a pie chart with few categories
Show answer and explanationHide answer
Correct answer: DPart-to-whole comparisons suit stacked bars or pies with few categories. Trend lines, scatter plots of IDs and histograms of names do not show shares.
Question 17
An analyst wants to compare the distribution of order values across customer segments. Which chart type is most appropriate?
- AA single number tile
- BA table listing every order
- CA pie chart of customer IDs
- DBox plot by segment
Show answer and explanationHide answer
Correct answer: DBox plots by segment show distributions and medians across groups. Pies of IDs, single numbers and unfiltered tables do not compare distributions.
Question 18
A dashboard metric is calculated from a complex query and must be explained to stakeholders. Which practice improves trust?
- ADocument the metric definition, data source, and filters used alongside the dashboard
- BHide the calculation logic from stakeholders, presenting just the final figure on the dashboard
- CUse an unexplained metric name on the dashboard with no supporting description
- DChange the metric definition every week without recording notes or dates
Show answer and explanationHide answer
Correct answer: ADocumented definitions, sources and filters build trust and reproducibility. Hidden calculations, unexplained names and undocumented changes erode confidence.
Question 19
A stakeholder asks why the current month's revenue appears lower than expected. Which first step is most appropriate?
- AReport the figure to the stakeholder without checking it first
- BRemove the revenue metric from the dashboard until the next data refresh
- CAssume the source data is wrong and rebuild the dashboard at once
- DCheck the filters, date boundaries, and whether late-arriving data is missing
Show answer and explanationHide answer
Correct answer: DChecking filters, date boundaries and late data identifies common causes. Assuming error, reporting without checks and removing metrics are unhelpful.
Question 20
An analyst must present a single KPI with a comparison to the target and a status indicator. Which approach is most suitable?
- AA KPI tile showing the actual, target, and variance with a conditional colour rule
- BA raw table listing every monthly KPI value since launch, unfiltered
- CA word cloud built from the KPI name, its description and its owning team's tags for review
- DA pie chart of the KPI's actual value split across time periods and regional segments
Show answer and explanationHide answer
Correct answer: AA KPI tile with target, variance and status rules communicates performance. Pies, word clouds and raw tables are poor fits for a single KPI status.
Governance and security (5 questions)
Question 21
A company must mask personal email addresses for analysts who do not have a specific privilege, while other analysts see the full value. Which Snowflake feature implements this?
- AA dynamic masking policy applied to the email column based on the role
- BA separate copy of the table with asterisks typed in by hand for each team member
- CRenaming the email column to a less revealing label such as contact_ref
- DEncrypting the entire database at rest with a single customer-managed key in storage
Show answer and explanationHide answer
Correct answer: ADynamic masking policies apply role-based masking at query time. Manual copies, database-wide encryption alone and renaming do not implement role-based masking.
Question 22
An auditor asks who queried a sensitive table last month. Which source provides this information?
- AThe warehouse's display name
- BAccount usage query history views
- CThe table's comment metadata
- DThe analyst's laptop shell log
Show answer and explanationHide answer
Correct answer: BAccount usage views record query history including users. Comments, warehouse names and local laptop logs do not record database access.
Question 23
A data product must be discoverable by the organization, and its owner and sensitivity classification must be visible. Which practice supports this?
- APublishing the data product to the shared catalogue without assigning owners
- BKeeping the owner name, sensitivity level, and usage notes in a forwarded email thread
- CCatalogue entries with owners, classification tags, and descriptions
- DHiding the data from the catalogue so that it stays out of search results
Show answer and explanationHide answer
Correct answer: CCatalogue entries with owners, tags and descriptions support discovery and governance. Email threads, unowned publishing and hiding data do not.
Question 24
A company wants to share a curated view with a partner without exposing the underlying table's other columns. Which object is appropriate?
- AA full copy of the table, refreshed nightly
- BA secure view that exposes only the approved columns
- CThe table's raw Parquet file unloaded to an internal named stage
- DThe base table granted to the PUBLIC role with direct read access
Show answer and explanationHide answer
Correct answer: BSecure views expose only approved columns and protect definitions. Full copies, raw stage files and public base tables expose more than intended.
Question 25
A compliance team asks how long deleted data can be recovered in the platform. Which feature determines this window?
- AThe number of users with login rights
- BTime Travel retention period for the object
- CThe virtual warehouse size setting
- DThe BI dashboard's colour and font theme settings
Show answer and explanationHide answer
Correct answer: BThe Time Travel retention period defines how long deleted or changed data can be recovered. Warehouse size, user counts and themes are unrelated.
Performance and cost (5 questions)
Question 26
A query on a large table takes minutes. Its plan shows that it scans almost all micro-partitions. Which change most likely improves performance?
- AUse SELECT * to read more columns from each micro-partition, widening the table scan
- BRun the query at midnight, when the warehouse is idle and the cache is cold
- CIncrease the number of columns in the table definition and the stored row width
- DAdd a filter that matches the table's clustering or natural order, enabling partition pruning
Show answer and explanationHide answer
Correct answer: DFilters aligned with clustering enable pruning and reduce scanned partitions. SELECT * reads more data, extra columns add work, and timing does not change the scan.
Question 27
A dashboard issues the same expensive aggregate query many times per hour on data that changes slowly. Which feature reduces cost and latency?
- AIncreasing the warehouse size permanently for no reason
- BRunning the query with no caching
- CA materialized view or result caching for the aggregate
- DDeleting the aggregate
Show answer and explanationHide answer
Correct answer: CMaterialized views and caching reuse computed results. Removing caching and oversizing warehouses permanently increase cost, and deletion removes the function.
Question 28
A warehouse is consuming more credits than budgeted because it runs continuously even when idle. Which setting helps reduce cost?
- AIncreasing the warehouse size to a larger tier
- BDisabling scheduled queries that run on the warehouse
- CAuto-suspend with an appropriate idle timeout
- DRemoving unused tables from the shared database schema
Show answer and explanationHide answer
Correct answer: CAuto-suspend stops compute when idle, lowering credit use. Disabling queries, enlarging warehouses and removing tables do not reduce idle cost appropriately.
Question 29
A team wants to see which queries are the most expensive in the last week. Which view provides query history with timing and resource usage?
- AThe user profile page of the admin console
- BThe table comment fields and column descriptions
- CThe warehouse name list with default sizes
- DThe query history views in the account usage schemas
Show answer and explanationHide answer
Correct answer: DQuery history views show execution and resource usage. Comments, profile pages and name lists do not provide query cost data.
Question 30
An analyst wants to minimize repeated work when running a complex query many times in a session with identical inputs. Which mechanism applies?
- ATurning off all caching
- BAdding random functions to the query
- CResult caching
- DChanging the query text each time
Show answer and explanationHide answer
Correct answer: CResult caching reuses prior results when inputs have not changed. Changing text, random functions and disabling caching do not help.