Using the XML file below write the following queries in XML Q1. Find the name of
ID: 3920017 • Letter: U
Question
Using the XML file below write the following queries in XML
Q1. Find the name of an employee who lives in Lincoln and works in Omaha.
Q2. Find salaries of employees who live in the same cities as the companies for which they work.
<?xml version="1.0"?>
<empdata>
<contents>
<employee>
<employee_name>Anderson, Susan L</employee_name>
<street>108th</street>
<city>Omaha</city>
<gender>F</gender>
</employee>
<employee>
<employee_name>Brady, Dan L</employee_name>
<street>P street</street>
<city>Lincoln</city>
<gender>M</gender>
</employee>
<employee>
<employee_name>Chen, Peter K</employee_name>
<street>124th</street>
<city>Omaha</city>
<gender>M</gender>
</employee>
<employee>
<employee_name>Clemson, Ann M</employee_name>
<street>O</street>
<city>Lincoln</city>
<gender>F</gender>
</employee>
<employee>
<employee_name>Dale, Mary K</employee_name>
<street>132th</street>
<city>Omaha</city>
<gender>F</gender>
</employee>
<employee>
<employee_name>Gill, Mary L</employee_name>
<street>P Street</street>
<city>Lincoln</city>
<gender>F</gender>
</employee>
<employee>
<employee_name>Harrison, Susan M</employee_name>
<street>Old Mill</street>
<city>Omaha</city>
<gender>F</gender>
</employee>
<employee>
<employee_name>Jackson, Kim A</employee_name>
<street>178th</street>
<city>Omaha</city>
<gender>F</gender>
</employee>
<employee>
<employee_name>Jason, Pat M</employee_name>
<street>8th</street>
<city>C.Bluffs</city>
<gender>M</gender>
</employee>
<employee>
<employee_name>Kumar, Paul T</employee_name>
<street>Dodge</street>
<city>Omaha</city>
<gender>M</gender>
</employee>
</contents>
<contents>
<works>
<employee_name>Anderson, Susan L</employee_name>
<company_name>Mutual of Omaha</company_name>
<salary>48000</salary>
</works>
<works>
<employee_name>Brady, Dan L</employee_name>
<company_name>FDR</company_name>
<salary>42000</salary>
</works>
<works>
<employee_name>Chen, Peter K</employee_name>
<company_name>FDR</company_name>
<salary>53000</salary>
</works>
<works>
<employee_name>Clemson, Ann K</employee_name>
<company_name>First Bank</company_name>
<salary>39000</salary>
</works>
<works>
<employee_name>Dale, Mary K</employee_name>
<company_name>Mutual of Omaha</company_name>
<salary>58000</salary>
</works>
<works>
<employee_name>Gill, Mary L</employee_name>
<company_name>Lincoln Star</company_name>
<salary>48700</salary>
</works>
<works>
<employee_name>Harrison, Susan M</employee_name>
<company_name>Union Pacific (UP)</company_name>
<salary>54320</salary>
</works>
<works>
<employee_name>Jackson, Kim A</employee_name>
<company_name>FDR</company_name>
<salary>68000</salary>
</works>
<works>
<employee_name>Jason, Pat M</employee_name>
<company_name>FDR</company_name>
<salary>83000</salary>
</works>
<works>
<employee_name>Kumar, Paul T</employee_name>
<company_name>FDR</company_name>
<salary>44000</salary>
</works>
</contents>
<contents>
<company>
<company_name>First Bank</company_name>
<city>Omaha</city>
</company>
<company>
<company_name>FDR</company_name>
<city>Omaha</city>
</company>
<company>
<company_name>Lincoln Star</company_name>
<city>Lincoln</city>
</company>
<company>
<company_name>Mutual of Omaha</company_name>
<city>Omaha</city>
</company>
<company>
<company_name>Union Pacific (UP)</company_name>
<city>Omaha</city>
</company>
</contents>
</empdata>
Explanation / Answer
Solution:
Q1. Find the name of an employee who lives in Lincoln and works in Omaha.
XML Query: (Assuming xml file name as employee.xml
for $x in doc("employee.xml")/empdata/contents/employee,
$y in doc("employee.xml")/empdata/contents/works,
$z in doc("employee.xml")/empdata/contents/company
where $x/employee_name=$y/employee_name and
$y/company_name=$z/company_name and
$x/city eq "Lincoln" and $z/city eq "Omaha"
return $x/employee_name
------------------------------------------------------------------------------------------------------------------------------------
Q2. Find salaries of employees who live in the same cities as the companies for which they work.
XML Query:
for $x in doc("employee.xml")/empdata/contents/employee,
$y in doc("employee.xml")/empdata/contents/works,
$z in doc("employee.xml")/empdata/contents/company
where $x/employee_name=$y/employee_name and
$y/company_name=$z/company_name and
$x/city=$y/city
return <$y/employee_name,$y/salary>
---------------------------------------------------------------------------------------------------------------------------------
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.