---
# System prepended metadata

title: Instuderingsfrågor SQL
tags: [övningsuppgifter]

---

# Instuderingsfrågor SQL

1. Vad är skillnaden mellan en databas och en tabell?
2. Vad är syftet med WHERE-villkoret i en SQL-query?
3. Vad gör LIMIT och ge ett exempel på när man vill använda det?
4. Vad händer om du inte anger alla kolumner vid en INSERT-operation? Kan man lämna några kolumner tomma?
5. Hur använder man GROUP BY och vad är syftet med det?
6. Vad är skillnaden mellan HAVING och WHERE?
7. Vad används ordet AS till?
8. Vad innebär NOT NULL-begränsningen i SQL? Ge ett exempel på när man vill använda den och när man inte vill använda den.
9. Vad är ett standardvärde (default value) i SQL? Hur fungerar det och varför skulle du använda ett sådant?
10. Vad gör en CHECK-begränsning i SQL, och hur skrivs den?
11. Vad är skillnaden mellan INTEGER och REAL i SQL? Ge ett exempel på ett användningsområden för båda typerna.

Utifrån tabellen som heter `Employees`, vad kommer du få för resultat om du kör följande queries?
![image](https://hackmd.io/_uploads/SyIdbPgpA.png)


a. `SELECT first_name, last_name FROM Employees WHERE department = 'HR';`
b. `SELECT first_name, salary FROM Employees WHERE salary > 60000;`
c. `SELECT COUNT(*) FROM Employees WHERE department = 'IT';`
d. 
```sql
SELECT first_name, salary 
FROM Employees 
WHERE hire_date > '2020-01-01' 
ORDER BY salary DESC;
```
e. 
```sql
SELECT COUNT(*), department 
FROM Employees 
GROUP BY department 
HAVING COUNT(*) > 1;
```
f. 
```sql
SELECT department, MAX(salary) - MIN(salary) AS salary_difference 
FROM Employees 
GROUP BY department;
```

Nedan är två queries som inte kommer att köra. Förklara vad som är fel och hur man kan åtgärda det.

```sql
SELECT first_name, last_name, AVG(salary) 
FROM Employees;
```

```sql
SELECT first_name, last_name 
FROM Employees 
WHERE salary > AVG(salary);
```