Tag inte dessa sidor allt för allvarligt för tillfället. Det kommer 
		mer och bättre snart. För tillfället vill jag bara testa 
		några koncept.
	Structured Query Language (SQL) är ett "språk" som 
	används för att hantera databaser. Nedan kommer en snabb 
	genomgång av de vanligaste lösningarna i SQL med betoning på 
	förfrågningar (SELECT)
	1. SELECT
	SELECT används för att få en del av en datatabell. Delen kan 
	vara vissa kolumner eller vissa rader eller en kombination av dessa.
	För exemplen antas det finnas två tabeller i en databas, bägge 
	rätt enkla.
	
		
			| Tabellen Arbete: 
 
					
						| 
								
									
									| ID | Namn | Avdelning | Timmar | Datum |  
									
									| 1 | Anders | 1 | 12 | 12.2.2001 |  
									
									| 2 | Pelle | 1 | 7 | 12.2.2001 |  
									
									| 3 | Eva | 2 | 3 | 12.2.2001 |  
									
									| 4 | Anders | 1 | 6 | 13.2.2001 |  
									
									| 5 | Pelle | 1 | 6 | 14.2.2001 |  
									
									| 6 | Eva | 2 | 7 | 14.2.2001 |  
									
									| 7 | Eva | 2 | 4 | 14.2.2001 |  
									
									| 8 | Anders | 1 | 4 | 16.2.2001 |  
									
									| 9 | Pelle | 1 | 6 | 1.3.2001 |  
									
									| 10 | Eva | 2 | 9 | 2.3.2001 |  |  |  | Tabellen Avdelningar: 
 
					
						| 
								
									
									| Avdelning | Namn |  
									
									| 0 | Ingen |  
									
									| 1 | IT |  
									
									| 2 | Ekonomi |  
									
									| 3 | Rock'n'roll |  |  | 
	
	Enklaste formen av SELECT:
	SELECT fältnamn FROM tabellnamn
	blir för tabellen Arbete (genom att klicka på SQL satsen så 
	får du se resultatet):
	
	* betyder alltså att raden kan läsas (på svenska) som:
	
	VÄLJ allt FRÅN tabellen Arbete
	Vill vi inte ha alla kolumner (fält) med kan man sätta dit 
	fältnamnen, med komma mellan, enligt nedanstående exempel:
	
	Prova på att översätta SELECT satsen till svenska.
	Observera att fälten inte behöver sättas i "rätt" ordning, utan 
	vi kan räkna upp dem vilken ordningsföljd som helst
	Det kan även gå att sätta samma fält fler gånger, 
	men resultatet blir kanske inte det du väntat dig... Mer om detta lite 
	senare i texten
	
	
		2. Sortering av datat
	
	För sortering används ORDER BY villkor. Se nedanstående exempel 
	som sortera enligt namn:
	
	Ingenting hindrar att vi kombinerar sorteringar. Om vi gör detta kommer 
	den att utföra sorteringen i den ordnings vi satt dit fältnamnen. I 
	nedanstående exempel sorteras datat efter namn i första hand och om 
	det finns flera likadana namn sordteras dessa efter datum
	
	Sortering kan ske i antingen stigande ordning (a till ö - 
	standardinställningen) eller fallande (ö till a). Vill vi få 
	sorteringen fallande används ordet DESC. För stigande kan man 
	använda ordet ASC, men det är onödigt. I nedanstående 
	exempel sorteras namnet i stigande ordning men datumen i fallande.
	
	Och nästa sorteras namnen omvänt men datum stigande
	
	Det går även att sortera efter ett fält som inte visas. I 
	nedanstående visas ID och namn, men datat sorteras efter datum
	
	3. Val av poster
	3.1. Numeriska fält
	Vi är oftast inte intresserade av allt data som finns i en tabell, utan 
	vill bara få vissa rader (poster). För detta används ordet 
	WHERE. Se nedanstående exempel som bara visar personser från 
	avdelning 1:
	
	Vi kan här använda de vanliga operanderna:
	
		
			| = | lika med | 
		
			| < | mindre än | 
		
			| <= | mindre än eller lika med | 
		
			| > | större än | 
		
			| >= | större än eller lika med | 
		
			| <> | olika | 
	
	
	3.2. Textfält
	Ovanstående exempel fungerar bra för nummeriska fält men om 
	fältet innehållet text måste man skriva lite annorlunda. Text 
	måste alltid omslutas med ' tecken. Se nedanstående exempel som 
	väljer ut bara de poster där namn är Eva.
	
	Samma operander som för numeriska fält fungerar även här, 
	bara man kommer ihåg att omsluta texten med ' tecken. Se 
	nedanstående exempel:
	
	Eftersom ' tecknet anväds för att omsluta texter kan följande 
	SELECT sats ge oss problem:
	
Däremot fungerar följande:
	
	Observera att det inte är dubbelt citationstecken " i raden utan två
	' tecken efter varandra!
	Tips: I VB kan man använda Replace funktionen. Då kan man 
	skriva följande:
	Dim villkor As String
	
	Dim SQL As String
	
	villkor = "rock'n'roll"
	
	SQL = "SELECT * FROM Avdelningar WHERE Namn = '" 
	& Replace(villkor, "'", "''") 
	& "'"
	
	...
	
	Observera användningen av & och 
		' ovan.
	3.3. Datum
	Datum är ett mycket sorgligt kapitel. Det finns ett stort antal sätt 
	att kombinera datum, och alla länder har sitt system. I Finland brukar vi 
	skriva 12.2.2001 när vi avser 12:e februari år 2001. I andra 
	länder kan detta skrivas på annat sätt. I vissa länder 
	använder man "."i andra länder "-" eller 
	"/". För att säkersälla att datum fungerar - oavsett 
	landsinställningar - kan man använde s.k. "date literals". 
	Dessa skall alltid omslutas med # tecken samt vara i formen mm/dd/yy eller 
	mm/dd/yyyy - d.vs. månad med två siffror, ett /-tecken, dag med 
	två siffror, ett /-tecken samt år med två eller fyra siffror. 
	Lite beroende på landsintällningarna kan man få andra 
	versioner att fungera, men kan aldrig vare helt säker...
	Nedan är ett exempel på en SQL sats som plockar ut de poster vars 
	Timmar fält är 12:e dagen i 2:a månaden år 2001 samt en 
	som plockar ut de som är senare än detta datum.
	
	Man kan aldrig vara helt säker på vad som sker med datum. Se 
	på nedanstående exempel. Vad är det egentligen vi väljer? 
	(Testdatabasen är gjord i Access 2000. Andra system uppför sig lite 
	annorlunda)
	
	Jag brukar ibland "förfalla i synd" och sätta in datum i 
	textfält. Om man sätter dem i formen YYYYMMDD, t.ex. 20010923, 
	så går de dessutom att sortera med vanlig textsortering. Hur vi 
	gör beror lite på vad vi tänker göra med datumen. Om det 
	är ett textfält så kan vi inte utföra matematiska 
	beräkningar, t.ex. datum +30, men det är inte alltid detta 
	behövs...
	3.4. Kombinationer av flera villkor
	Villkoren som sätts i WHERE delen av SQL satsen går även att 
	kombinera med hjälp av de logiska operanderna AND, OR och NOT. Nedan 
	kommer några exempel på detta:
	
	AND och OR behöver man ofta, NOT kan man ofta arbeta sig förbi om det 
	gäller de enklare jämförelserna. Nedanstående exempel 
	gör samma sak, men är uttryckta på olika sätt. Avgör 
	själv vilken du tycker är lättare.
	
	Följande gör även den samma sak med det data vi nu har, men du 
	måste fråga dig själv om det alltid är så, eller om 
	det bara råkar vara en slump på grund av datats innehåll. Vad 
	tror du?
	
	3.5. Parenteser
	Gör följande SELECT satser samma sak?
	
	Slutsats: Om man inte använder parenteser så utförs 
	kombinationerna från vänster till höger. De två 
	första gjorde samma sak, den tredje avvek från de två 
	tidigare.