| To view Access queries in SQL rather than Access query design - open the query design window and change the view to SQL:
Select Statement
SELECT [column_name] FROM [table_name]; Append Statement
INSERT INTO [table_name] ([column1], [column2], [column3])
VALUES ('value1', #value2#, value3);
This assumes value1 is a string, value2 is a date and value 3 is some other datatype
Update Statement
UPDATE [table_name] SET [column_name] = 'value1'
WHERE [other_column]=value2; Delete Statement
DELETE * FROM [table_name]; Create Table Statement
SELECT Column1, Column2 INTO NewTable
FROM OldTable; Distinct values only
SELECT DISTINCT [column_name] FROM [table_name]; Top 10 in an Ordered Query
SELECT TOP 10 [column_1], [column_2]
FROM [table_name]
ORDER BY [column_1]; Order by is Ascending by default. Use DESC at the of the statement to reverse the order. IN Value List
SELECT [column_name]
FROM [table_name]
WHERE [column_name] IN ('value1', 'value2', 'value3'); Between Numbers
SELECT [column_name]
FROM [table_name]
WHERE [column_name] BETWEEN value1 AND value2; Between Dates
SELECT [column_name]
FROM [table_name]
WHERE [column_name] BETWEEN #value1# AND #value2#; Like and * wildcard
SELECT [column_name]
FROM [table_name]
WHERE [column_name] LIKE '*value*'; Count
SELECT COUNT([column_name])
FROM [table_name]; However in Aggregate queries if other columns are returned you must use Group By
SELECT COUNT([column_1]), [Column2]
FROM [table_name]
GROUP BY [Column2]; JOINS
SELECT [Table1].[Column_1], [Table2].[Column_2]
FROM Table1 INNER JOIN Table2
ON [Table1].[ID] = [Table2].[ID];
LEFT, RIGHT and INNER JOINS follow the same syntax. Full outer joins are achieved by using no join as follows:
SELECT [Table1].[Column_1], [Table2].[Column_2]
FROM Table1, Table2; Union
SELECT [column_name] FROM [table_1]
UNION [ALL]
SELECT [column_name] FROM [table_2];
The ALL predicate is required if you don't want duplicate records to be dropped.
UNION on it's own has the effect of using the DISTINCT predicate in a SELECT clause.
|