🚧 Under construction — VoTechWorks is being built. A free tech program — complimentary, as our commitment to get America working.
voTechWorksGrade 13 · a vocational technology learning center, by urbanicity
newSchoolWorks.com › VoTechWorks › Technology & Design › GIS / Surveying / Drone Operations › QGIS and ArcGIS Pro for Surveying and Geospatial Analysis › Lesson 8
TEC-GIS45-02 · Lesson 8 · 10 clock hours · practice

Table Joins, Relates, and Querying Attribute Data

Objective. Students will perform attribute joins between spatial and tabular data, write SQL-style definition queries to filter features, and use Select by Attribute and Select by Location to answer spatial questions.

⚠ Pending professional review

This lesson, its worked examples and its practice questions has not yet been verified by an industry-certified professional or by a certification or approval body. It is a study draft and may contain errors. Do not use it as instructions for work on a job site or on live equipment. Always follow your instructor, your supervising professional, and current official references and regulations.

VoTechWorks program approval and accreditation are still in progress. Credentials are issued only by the certifying bodies named in each program, after their own exams.

Table Joins, Relates, and Querying Attribute Data

Why Attribute Data Matters in Surveying and GIS

A shapefile or feature class stores two things: geometry (the shape and location of each feature) and attributes (descriptive information in a table). In land surveying and parcel mapping, the geometry might be a parcel boundary polygon, but the owner name, assessed value, and legal description live in a separate database maintained by the county assessor. Connecting those two datasets is one of the most common GIS tasks in this trade.

Table Joins

A table join appends columns from one table onto another based on a shared field called the join key or common field. In ArcGIS Pro, you right-click the target layer in the Contents pane, choose Joins and Relates → Add Join, and specify:

ArcGIS Pro performs a one-to-one join by default: each record in the spatial layer is matched to at most one record in the join table. If a parcel ID appears multiple times in the join table, only the first match is used unless you use a one-to-many relate instead.

Verifying the join is essential. Spot-check at least five records by clicking individual features and confirming the owner name and assessed value match the raw CSV. A successful join shows populated attribute values; a failed match shows `<Null>`.

#### Data Type Mismatches

The most common join failure is a data type mismatch. If the shapefile stores `PARCEL_ID` as a numeric integer field but the CSV stores `APN` as text (string), the join silently returns no matches. The fix is to convert one field so both share the same type. In ArcGIS Pro, use the Calculate Field tool or Add Field plus Field Calculator to create a new text version of the numeric field, then rejoin on the converted field. Always check field types in the Fields view before joining.

Relates vs. Joins

A relate links two tables without appending columns. It is used when the relationship is one-to-many — for example, one parcel might have many tax payment records. Relates let you navigate between related records interactively but do not add columns to the attribute table. Use a join when you need the data in one flat table for analysis or export; use a relate when you need to browse a one-to-many relationship without duplicating rows.

Definition Queries

A definition query filters which features are displayed and available for analysis without deleting any data. The syntax follows standard SQL `WHERE` clause rules. In ArcGIS Pro, open Layer Properties → Definition Query and use the query builder or type SQL directly.

Common patterns:

| Purpose | Example SQL |

|---|---|

| Single value | `"LAND_USE" = 'Residential'` |

| Numeric range | `"ASSESSED_VAL" >= 100000 AND "ASSESSED_VAL" <= 500000` |

| Compound OR | `"ZONE" = 'R1' OR "ZONE" = 'R2'` |

| NOT | `"OWNER" <> 'UNKNOWN'` |

| Wildcard | `"OWNER" LIKE 'SMITH%'` |

Field names are enclosed in double quotes; text values in single quotes. The `LIKE` operator with `%` matches any sequence of characters — useful for partial name searches. Always record the exact SQL you write and the feature count returned so you can reproduce and audit your work.

Select by Attribute

Select by Attribute (Map tab → Select by Attributes in ArcGIS Pro) applies the same SQL logic interactively to select a subset of features — highlighted in cyan on the map. Unlike a definition query, it does not hide unselected features; it simply marks a subset. You can then export the selection, calculate statistics on it, or use it as input to another tool.

Select by Location

Select by Location answers spatial questions: Which features from Layer A are within a certain distance of features in Layer B? Common relationship types include Intersect, Within a Distance, and Completely Within. For survey work, a typical use case is: select all control monuments within 500 feet of a proposed road centerline. After running the tool, verify the selection count in the status bar and in the attribute table header. Export the selection using Export Features (right-click the layer → Data → Export Features) to create a permanent feature class.

QGIS Equivalents

QGIS uses the same logical SQL syntax in its Select Features by Expression dialog and Layer → Filter (definition query equivalent). Joins are performed via Layer Properties → Joins. Field type handling is similar — mismatches cause failed joins. Knowing both platforms makes you more versatile on the job.

Data Integrity and Professional Responsibility

In surveying, attribute data feeds legal descriptions, tax records, and boundary decisions. A wrong join or an unverified query result can produce an incorrect map that affects property rights. Always:

File and Equipment Safety

This is a software-based lesson. Maintain good data hygiene: work in a project folder with clear naming conventions, never edit the original source files, and back up your project regularly. If working in a computer lab, follow your instructor's log-on and data-storage procedures so your work is not lost between sessions.

Key terms10

Table joinAn operation that appends columns from a secondary table to a spatial layer's attribute table based on a shared key field, matching records by equal values in both fields.
Join key (common field)The field present in both tables that is used to match records during a join; values must be identical in content and data type for a match to succeed.
Data type mismatchA join failure that occurs when the join key field is stored as different data types in the two tables (for example, integer in one and text in the other), causing no records to match.
RelateA link between two tables that allows navigation between related records without appending columns; used for one-to-many relationships where a single feature corresponds to multiple table rows.
Definition queryA SQL WHERE clause applied to a layer that filters which features are displayed and available for analysis, without permanently deleting any data from the source.
Select by AttributeA GIS tool that uses SQL logic to highlight a subset of features in a layer, making them available for export, statistics, or further spatial analysis.
Select by LocationA GIS tool that selects features from one layer based on their spatial relationship to features in another layer, such as being within a specified distance of a line.
LIKE operatorA SQL operator used with wildcard characters (% for any sequence of characters) to match text values by pattern rather than exact value, useful for partial name searches.
One-to-many relateA database relationship where one record in the primary table corresponds to multiple records in the related table, such as one parcel linked to many historical tax payment records.
Feature classA collection of geographic features with the same geometry type, coordinate system, and attribute schema, stored in a geodatabase or as a shapefile in a GIS environment.
In class: Join exercise: students join a county assessor CSV (owner name, assessed value, parcel ID) to a parcel shapefile on a common parcel ID field, verify join success by spot-checking five records, and troubleshoot one intentional mismatch in data types. · Query writing: students write five definition queries of increasing complexity (single value, range, compound AND/OR, NOT, wildcard) in ArcGIS Pro's query builder, document the SQL syntax, and record how many features each query returns. · Select by Location: students select all survey control monuments within 500 feet of a proposed road centerline, export the selection to a new feature class, and produce a count and summary table of monument types found.
Materials: ArcGIS Pro, QGIS, parcel shapefile, assessor CSV with seeded type mismatch, control monument shapefile, road centerline shapefile, SQL syntax reference card
Check: Join produces correct owner names for five spot-checked parcels, all five queries return the expected feature counts (answer key provided), and the spatial selection exports correctly; pass mark 80% on a graded answer sheet.

Practice check8

Answer each question, then check it. Nothing is recorded; this is your own practice.

Esri ArcGIS Pro — data management and geodatabase concepts
1. A parcel shapefile has a field called PARCEL_ID stored as a Long Integer. The assessor CSV has a field called APN stored as Text. What will happen when you attempt to join these two tables on those fields in ArcGIS Pro?
Esri ArcGIS Pro — querying and attribute analysis
2. Which SQL definition query correctly selects all parcels where the assessed value is between $200,000 and $400,000, inclusive?
Esri ArcGIS Pro — spatial analysis and querying
3. You need to find all survey control monuments within 500 feet of a proposed road centerline. Which ArcGIS Pro tool is most appropriate?
Esri ArcGIS Pro — data management and geodatabase concepts
4. After performing a Select by Location, you want to save only the selected monuments as a permanent dataset for your survey report. What is the correct next step in ArcGIS Pro?
Esri ArcGIS Pro — querying and attribute analysis
5. Which SQL expression correctly uses a wildcard to select all parcels where the owner name begins with 'SMITH'?
Esri ArcGIS Pro — data management and geodatabase concepts
6. What is the primary difference between a table join and a relate in ArcGIS Pro?
Esri ArcGIS Pro — querying and attribute analysis
7. A student writes the following definition query: "ZONE" = 'R1' OR "ZONE" = 'R2' AND "ASSESSED_VAL" > 300000. The student expects to see only R1 or R2 parcels valued above $300,000. Why will this query likely not return the expected results?
Esri ArcGIS Pro — data management and geodatabase concepts
8. During a spot-check of five records after a parcel-to-assessor CSV join, two records show <Null> for the owner name field. What should the technician do first?
Record this lesson on my transcript. Sign in with your key and enrollment email to record lessons (enroll free if you have no key). This page stays open to read and practise.