SQL
SQL
結構式查詢語言 (SQL) 是一種用於在關聯式資料庫中儲存和處理資訊的程式設計語言
Foreign Key: a reference in one table’s records to the primary key of another table
Primary Key: used to uniquely identify each record in that table
AND/OR
SELECT model
FROM cars
WHERE color = 'blue'
AND year > 2014;
AS(rename)
SELECT name AS 'movie_title'
FROM movies;
LIKE / %
'%a'特定結尾 '%a%'特定中間 'a%'特定開頭
SELECT name
FROM movies
WHERE name LIKE 'The%';
_(底線)
SELECT name
FROM movies
WHERE name LIKE '_ove'
ORDER BY
SELECT *
FROM contacts
ORDER BY birth_date DESC;
DISTINCT
SELECT DISTINCT city
FROM contact_details;
BETWEEN(The range of alues can be text, numbers, or date data.)
SELECT *
FROM movies
WHERE year BETWEEN 1980 AND 1990;
LIMIT/OFFSET
SELECT *
FROM movies
LIMIT 5 OFFSET 2;
NULL
SELECT address
FROM records
WHERE address IS NOT NULL;
CREATE TABLE
CREATE TABLE student (
id INTEGER PRIMARY KEY,
name TEXT UNIQUE,
grade INTEGER NOT NULL,
age INTEGER DEFAULT 10
);
Insert into
-- Insert into columns in order:
INSERT INTO table_name
VALUES (value1, value2);
-- Insert into columns by name:
INSERT INTO table_name (column1, column2)
VALUES (value1, value2);
ALTER TABLE
ALTER TABLE table_name
ADD column_name datatype;
DELETE
DELETE FROM table_name
WHERE some_column = some_value;
UPDATE
UPDATE table_name
SET column1 = value1, column2 = value2
WHERE some_column = some_value;
Aggregate Functions
GROUP BY
SELECT COUNT(*) AS 'total_movies',
rating
FROM movies
GROUP BY 2
ORDER BY 1;
MAX/MIN/AVG/SUM
SELECT MAX(amount)
FROM transactions;
COUNT
SELECT COUNT(*)
FROM employees
WHERE experience < 5;
HAVING
SELECT year,
COUNT(*)
FROM movies
GROUP BY year
HAVING COUNT(*) > 5;
ROUND()
SELECT year,
ROUND(AVG(rating), 2)
FROM movies
WHERE year = 2015;
Outer Join
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name =
table2.column_name;
Inner Join
SELECT *
FROM books
JOIN authors
ON books.author_id = authors.id;
WITH
WITH temporary_movies AS (
SELECT *
FROM movies
)
SELECT *
FROM temporary_movies
WHERE year BETWEEN 2000 AND 2020;
UNION
SELECT name
FROM first_names
UNION
SELECT name
FROM last_names
CROSS JOIN
SELECT shirts.shirt_color,
pants.pants_color
FROM shirts
CROSS JOIN pants;
字串長度
CHAR_LENGTH()
COALESCE
SELECT COALESCE(
(SELECT DISTINCT salary
FROM Employee
ORDER BY salary DESC
LIMIT 1 OFFSET 1),
NULL
) AS SecondHighestSalary;
Last updated