Download
overzicht databanken oefeningen n.
Skip this Video
Loading SlideShow in 5 Seconds..
Overzicht databanken - Oefeningen PowerPoint Presentation
Download Presentation
Overzicht databanken - Oefeningen

Overzicht databanken - Oefeningen

218 Views Download Presentation
Download Presentation

Overzicht databanken - Oefeningen

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Overzicht databanken - Oefeningen • SQL - SQL Server 2000 • Werken met 1 tabel : SELECT, Statistische functies, GROUP BY • Werken met meerdere tabellen : JOIN, UNION, subselects, gecorreleerde subqueries • Definitie van tabellen, indexen • Wijzigen van tabellen : insert, update, delete • Views • Rechten en rollen • De catalogus • Triggers en stored procedures Karine Samyn - Databanken oefeningen

  2. Overzicht databanken - Oefeningen • Cursus • Slides : op Dokeos • Syllabus • Punten • Permanente evaluatie : 20% • 1 gequoteerde oefening • Examen • Theorie : 40% • Oefeningen : 40% Karine Samyn - Databanken oefeningen

  3. Overzicht databanken - Oefeningen Voor de oefeningen en voorbeelden wordt gebruik gemaakt van Microsoft SQL Server 2000 • Downloaden software http://www.ma3d.com/ “De hogeschool heeft met Signpost een overeenkomst i.v.m. het Microsoft MSDN Academic Alliance programma afgesloten. Het betreft hier het (zonder licentiekosten) ter beschikking stellen van de Microsoft server- en ontwikkelingsprogrammatuur voor studenten en docenten uit "informatica"-opleidingen. Het gebruik is uitdrukkelijk beperkt tot zuiver pedagogische toepassingen(op de hogeschool en thuis). Signpost staat in voor de distributie van de software via internet. Voor de aanbieding MSDNAA wordt per gebruiker een jaarlijkse bijdrage van € 27.50, excl. BTW gevraagd met een downloadlimiet van 12.5 Gbytes. Deze bevat o.a. SQL Server 2000, Visual Studio.Net,… Studenten registreren zich rechtstreeks bij Signpost via http://www.ma3d.com/msdnaa en betalen het bedrag rechtstreeks aan Signpost. Ook alle info kan op deze site gevonden worden.” Karine Samyn - Databanken oefeningen

  4. Overzicht databanken - Oefeningen • Hardware en Software vereisten + uitleg verschillende SQL server edities en vereisten qua OS : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/instsql/in_overview_74vn.asp • Installatie procedure : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/howtosql/ht_install_1xwl.asp • SQL Server Home : http://www.microsoft.com/sql Karine Samyn - Databanken oefeningen

  5. Overzicht databanken - Oefeningen • SQL Server : • Beheer • Installatie, configuratie en beveiliging van SQL Server. • Aanmaken van databanken • Beheer van databanken : backup, restore, ... • Gebeurt adhv Enterprise manager • Client tool • Is een Microsoft Management Console snap-in • Toegankelijk via Programs > Microsoft SQL Server 2000 > Enterprise Manager Karine Samyn - Databanken oefeningen

  6. Overzicht databanken - Oefeningen • Voor de oefening maken we gebruik van de planten database die deel uitmaakt van de SQL Server, geinstalleerd op de SQLSERVER server. Om vanop je client deze server te kunnen bekijken dien je • Start Enterprise Manager • In linker venster, rechtermuisklik op SQL Server Group. Selecteer New SQL Server Registration • Vul de gegevens in • Op eigen PC • SQL Server = naam PC of localhost • “Use Windows Authentication” • Op school • SQL Server = SQLSERVER • “Use SQL Server Authentication” • Login Name : studentsql • paswoord : studentsql • Nu is de database server beschikbaaren kan je de verschillende databankenbeheren Karine Samyn - Databanken oefeningen

  7. Overzicht databanken - Oefeningen • Bevragen gegevens in SQL Server : via de Query Analyzer • Programs > Microsoft SQL Server 2000 > Query Analyzer • Connecteer met • Op eigen PC • SQL Server = naam PC of localhost • Connecting using “Use Windows Authentication” • Op school • SQL Server = SQLSERVER • SQL Server Authentication • Login Name : studentsql, paswoord : studentsql • In de Query Analyzer • Selecteer eerste de gewenste database in de DB listbox, bvb Northwind • Typ de query in • Selecteer de Execute query –knop (F5) • Transact SQL-help : selecteer een instructienaam en druk op SHIFT+F1 of via Programs >SQL Server 2000 > Books Online Karine Samyn - Databanken oefeningen

  8. Overzicht databanken - Oefeningen • Oefeningen maken gebruik van • planten database • Installatie procedure : zie Dokeos Karine Samyn - Databanken oefeningen

  9. Overzicht databanken - Oefeningen • De voorbeelden in de theorie maken gebruik van de Products tabel uit de Northwind databank Karine Samyn - Databanken oefeningen

  10. SQL - standaarden en dialecten • Definitie • Relationele gegevenstaal voor relationele database systemen. • Niet procedurele taal • Standaard : ANSI/ISO-1992 • Database systemen • Oracle : PL/SQL • SQL Server : TRANSACT-SQL • DB2 (IBM) • Informix • Sybase • Access • MySQL Karine Samyn - Databanken oefeningen

  11. SQL - Overzicht • SQL bestaat uit 3 subtalen • Data Definition Language (DDL) : creatie van een database, en het definiëren van database objecten (tabellen, stored procedures, views,…) • CREATE, ALTER, DROP • Data Manipulation Language (DML) : opvragen en manipuleren van de gegevens in een database • SELECT, INSERT, UPDATE, DELETE • Data Control Language (DCL) : gegevensbeveiliging en authorisatie • GRANT, REVOKE, DENY • Bijkomende taal elementen : operatoren, functies , control of flow (dialect gebonden) Karine Samyn - Databanken oefeningen

  12. SQL - DML • Eén tabel raadplegen • Basisvorm • SELECT clausule • WHERE clausule • Formatteren van rijen • Statistische functies • Groeperen • Meerdere tabellen raadplegen Karine Samyn - Databanken oefeningen

  13. SQL - DML • Eén tabel raadplegen • Basisvorm Toont een lijst • SELECT clausule : specifieert de kolommen die je wenst te zien. DISTINCT zorgt ervoor dat de getoonde rijen alle uniek zijn • FROM clausule : geeft aan uit welke tabel de gegevens afkomstig zijn • WHERE clausule : opgave van de voorwaarden waaraan de getoonde rijen moeten voldoen • ORDER BY clausule : bepaalt de volgorde waarin de rijen getoond moeten worden • GROUP BY en HAVING clausule : groeperen van de gegevens SELECT [ALL | DISTINCT] {*|uitdrukking [,uitdrukking ...]} FROM tabelnaam [WHERE voorwaarde(n)] [GROUP BY kolomnaam [,kolomnaam ...] [HAVING voorwaarde(n)] [ORDER BY {kolomnaam|volgnr}{ASC|DESC}[,...] Karine Samyn - Databanken oefeningen

  14. SQL - DML 2. SELECT clausule : Specificatie van de kolommen a) * : Ophalen van alle kolommen uit 1 tabel • Voorbeeld : Toon alle gegevens van de producten SELECT * FROM products Karine Samyn - Databanken oefeningen

  15. SQL - DML b) Ophalen van een aantal kolommen uit 1 tabel : door opgave van kolomnaam of uitdrukking • Voorbeeld : Toon van alle producten het productID, de naam en eenheidsprijs SELECT productid, productname, unitprice FROM products Karine Samyn - Databanken oefeningen

  16. SQL - DML 3. WHERE clausule : Specificatie van voorwaarden waaraan de getoonde rijen moeten voldoen • Voorbeeld : Toon productID, naam en eenheidsprijs van de producten die behoren tot categorie 1 SELECT productid, productname, unitprice FROM products WHERE categoryid = 1 Karine Samyn - Databanken oefeningen

  17. SQL - DML • Gebruik van literals • Numerische waarden : ... WHERE categoryID = 1 • Alfanumerische waarden : ... WHERE productName = ‘Chai’ • Datums : ... WHERE orderDate = ‘4/15/1998’ (15 april 1998) • Voorwaarden aan rijen adhv • Vergelijkingsoperatoren • Wildcards • Logische operatoren • Een interval van specifieke waarden • Een lijst van waarden • Onbekende waarden • Je kan haakjes gebruiken om de prioriteitsregels te doorbreken of het geheel leesbaarder te maken Karine Samyn - Databanken oefeningen

  18. SQL - DML a) Vergelijkingsoperatoren • =, >, >=, <, <=, <> • Voorbeelden • Toon productID, naam, aantal in stock van de producten waarvan er minder dan 5 in stock • Toon productID, naam, aantal in stock van de producten waarvan naam begint met een A select productid, productname, unitsinstock from products where unitsinstock < 5 select productid, productname from products where productname >= 'A' and productname < 'B' Karine Samyn - Databanken oefeningen

  19. SQL - DML b) Wildcards (zoeken naar patronen) • De operator LIKE, NOT LIKE • In combinatie met wildcards: % : willekeurige tekenrij met 0 of meerdere tekens _ : 1 teken [ ] : 1 teken binnen de gespecifieerde range of verzameling [^] : elk teken niet binnen de gespecifieerde range of verzameling • Voorbeeld • Toon productID, naam van de producten waarbij de tekenreeks anton voorkomt in de naam SELECT productid, productname FROM products WHERE productname LIKE '%anton%' Karine Samyn - Databanken oefeningen

  20. SQL - DML c) Logische operatoren • OR, AND, NOT (volgens stijgende prioriteit) • Voorbeelden SELECT productid, productname, supplierid, unitprice FROM products WHERE (productname LIKE ’T%’ OR productid = 46) AND unitprice > 16.00 SELECT productid, productname, unitprice FROM products WHERE (productname LIKE ’T%’) OR (productid = 46 AND unitprice > 16.00) Karine Samyn - Databanken oefeningen

  21. SQL - DML d) Waarden in een interval • BETWEEN, NOT BETWEEN • Voorbeeld • Selecteer de producten (naam en eenheidsprijs) waarvan de eenheidsprijs tussen 10 en 15 euro (grenzen inbegrepen) SELECT productid, unitprice FROM products WHERE unitprice BETWEEN 10 AND 15 Karine Samyn - Databanken oefeningen

  22. SQL - DML e) Lijst van waarden • IN, NOT IN • Voorbeeld • Geef productID, naam, supplierID van de producten die geleverd worden door de suppliers met ID 1, 3 of 5 SELECT productid, productname, supplierid FROM products WHERE supplierid in (1,3,5) Karine Samyn - Databanken oefeningen

  23. SQL - DML f) Onbekende waarden (niet ingevulde waarden) • IS NULL, IS NOT NULL • Komen voor wanneer er bij input in een bepaalde kolom geen waarde werd ingebracht en er geen defaultwaarde voor die kolom voorzien was. • Een NULL waarde verschilt van 0 (numerische waarden) en blanco (character waarden) ! • NULL velden worden onderling gelijk beschouwd (voor testen met DISTINCT) • Als in een rekenkundige uitdrukking een NULL-veld wordt verwerkt is het resultaat ook NULL • Voorbeeld • Selecteer de klanten waarvan regiononbekend SELECT companyname, region FROM suppliers WHERE region IS NULL Karine Samyn - Databanken oefeningen

  24. SQL - DML • Opmerking SELECT companyname, region FROM suppliers WHERE region <> ‘OR’ SELECT companyname, region FROM suppliers WHERE region <> ‘OR’ OR region IS NULL Karine Samyn - Databanken oefeningen

  25. SQL - DML g) Oefeningen : • tabel Werknemer • tabel Afdeling Karine Samyn - Databanken oefeningen

  26. SQL - DML • Geef voornaam en achternaam van werknemers geboren voor 01/01/49 • Geef voornaam en familienaam van werknemers met code 54, die in een willkeurige afdeling werken met uitsluiting van afdeling D11 • Geef nummer, naam en afdelingsnummer van alle werknemers met salaris tussen 15000 en 24000 en niveau tussen 17 en 20 • Geef nummer, naam en opleidingsniveau van alle werknemers met niveau 16, 18 of 20 • Geef nummer, naam van vrouwelijke werknemers waarvan familienaam start met een ‘S’ of ‘T’ • Geef nummer, naam van alle werknemers met onbekende jobcode • Geef nummer, naam en afdelingsnummer van alle werknemers, waarvan de familienaam start met een P en die in een afdeling werken beginnend met D en als 3° karakter een 1 hebben. Karine Samyn - Databanken oefeningen

  27. SQL - DML 4. Formatteren van de resultaten • Sorteren data • Eliminatie van duplicaten • Wijzigen van kolomnaam • Berekende resultaatkolommen • Commentaar • /* commentaar */ • -- commentaar (beperkt zich tot 1 lijn) Karine Samyn - Databanken oefeningen

  28. SQL - DML a) Sorteren van de data • ORDER BY clausule • Kan 1 of meerdere sorteervelden bevatten • Een sorteerveld kan gespecifieerd worden via de kolomnaam, of door een volgnummer op te geven dat overeenkomt met de volgorde van het gegeven achter de SELECT clausule (startend vanaf 1) • Indien meerdere sorteervelden voorkomen, gebeurt het sorteren eerst op basis van het eerste veld, bij gelijkheid op basis van het tweede,... • Standaard gebeurt het sorteren in stijgende volgorde (volgens numerieke waarde, of volgens computercode bvb ASCII). Een dalende volgorde moet expliciet vermeld worden met DESC • Voorbeeld : • Toon een alfabetische lijst van de productnamen SELECT productname FROM products ORDER BY productname (of ORDER BY 1) Karine Samyn - Databanken oefeningen

  29. SQL - DML • Toon productid,naam, categoryid en eenheidsprijs van de producten gesorteerd op categoryid. Indien binnen 1 categorie producten dezelfde prijs hebben, dan dient het product met de hoogste prijs bovenaan te staan. SELECT productid, productname, categoryid, unitprice FROM products ORDER BY categoryid, unitprice DESC Karine Samyn - Databanken oefeningen

  30. SQL - DML b) Distinct/ALL • Distinct : produceert een lijst waar alle rijen uniek zijn, gelijke rijen worden uit resultaat verwijderd • ALL(default) : toont alle rijen, ook duplicaten • Voorbeeld • Toon de leveranciers die producten leveren SELECT supplierid FROM products ORDER BY supplierid SELECT DISTINCT supplierid FROM products ORDER BY supplierid Karine Samyn - Databanken oefeningen

  31. SQL - DML c)Gebruiken van leesbare namen voor de kolommen • Standaard : kolomtitel = naam van kolom in tabel; Berekende kolommen krijgen geen kolomnaam • Via “AS” keyword kan je een kolom een andere titel geven, of door opgave van kolom, dan een spatie en vervolgens de uitdrukking • Opm. Die nieuwe kolomnaam kan je enkel gebruiken in ORDER BY (niet in WHERE, HAVING, GROUP BY) • Voorbeeld : Selecteer ProductID en ProductNaam van de producten en geef als kolomtitel ProductNummer en Naam Product. SELECT productid AS ProductNummer, productname AS ‘Naam Product’ FROM products SELECT productid ProductNummer, productname ‘Naam Product’ FROM products Karine Samyn - Databanken oefeningen

  32. SQL - DML d) Berekende resultaatkolommen • Wiskundige operatoren : +,-,/,* • Voorbeeld : Geef naam en inventariswaarde van de producten SELECT ProductName, Unitprice * UnitsInStock AS InventoryValue FROM Products Karine Samyn - Databanken oefeningen

  33. SQL - DML • Functies • String functies : left, right, len, ltrim, rtrim, substring, replace,... • DateTime functies : DateAdd, DateDiff, DatePart, Day, Month, Year, ... • GETDATE() : functie die huidige datum en tijd retourneert in DATETIME format van MS-SQL Server. • Rekenkundige functies : round, floor, ceiling, cos, sin,... • Aggregate functies : AVG, SUM,... • System functies • CONVERT (<data type> [(<length>)], <data to convert> [, <style>]) Voorbeeld : CONVERT(VARCHAR,getdate(),6) -> 20 jan 2004 • CAST : conversie van 1 data type naar een ander CAST (<value expression> AS <data type>) Voorbeeld : PRINT CAST(-25.25 AS INTEGER) -> -25 • ISNULL : vervangt NULL waarde met opgegeven waarde Voorbeeld :SELECT ISNULL(unitprice, 10.00) FROM products Karine Samyn - Databanken oefeningen

  34. SQL - DML • CASE SELECT CASE WHEN price IS NULL THEN 'Not yet priced' WHEN price < 10 THEN 'Very Reasonable Title' WHEN price >= 10 and price < 20 THEN 'Coffee Table Title' ELSE 'Expensive book!' END AS "Price Category", CONVERT(varchar(20), title) AS "Shortened Title" FROM pubs.dbo.titles ORDER BY price Karine Samyn - Databanken oefeningen

  35. SQL - DML • Stringoperator : concatenatie • Gebruik maken van tekst (literals) SELECT STR(productid) + ‘,’ + productname AS Product FROM Products SELECT ProductName, ‘$’,Unitprice FROM Products Karine Samyn - Databanken oefeningen

  36. SQL - DML 5. Statistische functies (Aggregate functies) • SQL voorziet 5 standaardfuncties • SUM (uitdrukking) : som • AVG (uitdrukking) : gemiddelde • MIN (uitdrukking) : minimum • MAX (uitdrukking) : maximum • COUNT (*|[DISTINCT] kolomnaam) : aantal • Deze functies geven 1 antwoord per kolom (en mogen dus niet in een WHERE clause gebruikt worden) Karine Samyn - Databanken oefeningen

  37. SQL - DML a) SUM • Retourneert het totaal van NIET NULL numerieke waarden in één kolom • Enkel te gebruiken met numerieke argumenten • Voorbeeld : Geef de totale stock waarde SELECT SUM(UnitsInStock * UnitPrice) as inventoryvalue FROM products • b) AVG • Retourneert het gemiddelde van NIET NULL numerieke waarden in een kolom • Enkel te gebruiken met numerieke argumenten • Voorbeeld : Hoeveel producten zijn er gemiddeld in stock? SELECT AVG(unitsinstock) AS AverageStock FROM products Karine Samyn - Databanken oefeningen

  38. SQL - DML • c) COUNT • Retourneert het aantal rijen, of een aantal waarden in een kolom • COUNT(*) : telt het aantal rijen van de selectie • Tel het aantal producten (= het aantal rijen) SELECT COUNT(*) AS Aantal FROM products • COUNT(kolomnaam) : telt het aantal niet-lege velden in een kolom • Tel het aantal NIET NULL waarden in de kolom categoryid SELECT COUNT(categoryid) AS cat_count FROM products • COUNT(DISTINCT kolomnaam) : telt het aantal verschillende niet-lege velden in een kolom • Tel het aantal verschillende NIET NULL categoriën in products SELECT COUNT(DISTINCT categoryid) AS cat_count FROM products Karine Samyn - Databanken oefeningen

  39. SQL - DML d) MIN en MAX • retourneert de kleinste en de grootste waarde in een kolom • Gelden zowel op numerieke als alfanumerieke argumenten • Voorbeeld : Wat is de goedkoopste en duurste eenheidsprijs? SELECT MIN(unitprice) AS Minimum, MAX(unitprice) AS Maximum FROM products • Opmerkingen : • Omdat een statistische functies maar 1 antwoord oplevert, moeten ofwel alle uitdrukkingen in de SELECT clausule een statische functie bevatten, ofwel geen enkele! • Statistische functies en NULL waarden : Houden geen rekening met NULL waarden. Uitzondering : COUNT(*) (telt ook rijen die null waarden bevatten) Karine Samyn - Databanken oefeningen

  40. SQL - DML e) Een aantal dialecten in SQL Server • STDEV : spreiding van kolomwaarden uitgedrukt in de standaardafwijking • VAR : Spreiding van kolomwaarden uitgedrukt in de variantie • TOP : • Selecteer de 5 goedkoopste producten • Igv de 5 duurste producten sorteren op unitprice DESC SELECT TOP 5 productid, unitprice FROM products ORDER BY unitprice Karine Samyn - Databanken oefeningen

  41. SQL - DML 6. Groeperen : Statistische functies over meerdere groepen. • GROUP BY clausule : • Indeling van tabel in groepen van rijen met gemeenschappelijke kenmerken. • Per groep onstaat 1 unieke rij! • Voorbeeld : • Tot welke categoriën behoren de producten? • Elke groep is een afzonderlijke verzameling waarop eventueel statistische functies gebruikt kunnen worden. De kolomnamen vermeld in de GROUP BY mogen nu ook samen met de statistische functies in de SELECT voorkomen. SELECT CategoryID FROM Products GROUP BY CategoryID Karine Samyn - Databanken oefeningen

  42. SQL - DML • Voorbeelden • Toon per category het aantal producten SELECT CategoryID, COUNT(productID) AS number FROM Products GROUP BY CategoryID • Toon per categorie het aantal producten, waarvan er meer dan 10 in stock SELECT CategoryID, COUNT(productID) AS number FROM Products GROUP BY CategoryID WHERE UnitsInStock > 10 Karine Samyn - Databanken oefeningen

  43. SQL - DML • HAVING clausule • Selecteren of verwerpen van groepen op basis van bepaalde groepseigenschappen • Voorbeelden • Toon per category die meer dan 10 producten bevat, het aantal producten • SELECT CategoryID, COUNT(productID) AS number • FROM Products • GROUP BY CategoryID HAVING COUNT(productID) > 10 • Toon per category die meer dan 10 producten bevat, waarvan er meer dan 10 in stock, het aantal producten SELECT CategoryID, COUNT(productID) as number FROM Products WHERE UnitsInStock >10 GROUP BY CategoryID HAVING COUNT(productID) > 10 Karine Samyn - Databanken oefeningen

  44. SQL - DML • Opmerkingen • Verschil tussen WHERE en HAVING • WHERE : heeft betrekking op rijen • HAVING : heeft betrekking op groepen • Statistische functies enkel gebruiken in SELECT, HAVING, ORDER BY niet in WHERE, GROUP BY • Indien er functies voorkomen in de select-clausule, dan moeten alle items van de SELECT-lijst, als argument van één of andere functie optreden met uitzondering van de items van SELECT die voorkomen in de GROUP BY!!! SELECT categoryID, MIN(unitprice) AS Minimum FROM products Karine Samyn - Databanken oefeningen

  45. SQL - DML • Oefeningen • Tel het aantal werknemers uit de afdeling D11 en geef het maximum, minimum en gemiddeld salaris voor deze afdeling, alsook het aantal verschillende jobcodes uit deze afdeling. Geef ook de som van alle lonen betaald in D11. • Geef per afd, het afdnr en het aantal werknemers, gesorteerd volgens afdelingsnummer. • Idem, maar nu gesorteerd volgens aantal werknemers. • Idem maar nu wens je het aantal werknemers te kennen per afdeling en per jobcode • Tel per afd het aantal mannen en vrouwen en sorteer volgens opklimmende afdeling en afdalend geslacht. • Geef een overzicht van de afdelingen die tenminste 2 werknemers hebben die meer dan 1000 verdienen. Karine Samyn - Databanken oefeningen

  46. SQL - DML • Eén tabel raadplegen • Meerdere tabellen raadplegen • JOIN • Inner join • Outer join • Cross join • UNION • Subqueries • Geneste subqueries • Gecorreleerde subqueries • Operator EXISTS Karine Samyn - Databanken oefeningen

  47. SQL - DML • Meerdere tabellen raadplegen 1) JOIN • Selecteren van kolommen uit meerdere tabellen JOIN keyword : specifieert de tabellen die samengevoegd moeten worden, en hoe ze moeten worden samengevoegd Inner join Outer join Cross join ON keyword : specifieert de JOIN voorwaarde • Produceert 1 resultaatset, waarin de rijen uit die tabellen gekoppeld worden • Basisvorm (ANSI JOIN (SQL-92) <-> Old style join) SELECT uitdrukking FROM tabel JOIN tabel ON voorwaarde [JOIN tabel ON voorwaarde...] SELECT uitdrukking FROM tabel, tabel [, tabel...] WHERE voorwaarde Karine Samyn - Databanken oefeningen

  48. SQL - DML De voorbeelden maken gebruik van de Pubs database Karine Samyn - Databanken oefeningen

  49. SQL - DML a)Inner Join • Koppelen van rijen uit 1 tabel met rijen uit een andere tabel op basis van gemeenschappelijke waarden in de overeenkomstige kolommen. • De relatie tussen de velden in de verschillende tabellen kan je uitdrukken a.d.h.v. = (equi-join), <,>,<>,>=,<= Karine Samyn - Databanken oefeningen

  50. SQL - DML • Voorbeeld van equi-join • Geef een overzicht van de auteurs (naam, voornaam) die niet in California wonen en de boeken (titelID) die ze geschreven hebben. • ANSI JOIN (SQL-92) • OF “old style join” SELECT au_lname, au_fname, title_id WHERE state <> 'CA' FROM authors JOIN titleauthor ON authors.au_id = titleauthor.au_id SELECT au_lname, au_fname, title_id FROM authors, titleauthor WHERE authors.au_id = titleauthor.au_id AND state <> 'CA' Karine Samyn - Databanken oefeningen