ホームページ  >  記事  >  データベース  >  SQL について 上級 上級

SQL について 上級 上級

coldplay.xixi
coldplay.xixi転載
2020-12-04 17:05:179640ブラウズ

#SQL チュートリアル コラムでは、10 の高度な進歩を紹介します

SQL について 上級 上級

推奨 (無料): sql チュートリアル

sql Advanced


1、TOP 句 TOP 副次句ステートメント返されるレコードの数を指定するために使用されます。

SELECT TOP 2 * FROM Persons 
 SELECT TOP 50 PERCENT * FROM Persons

2. リンク検索パターン 次に、上の「人物」テーブルから「N」で始まる都市に住んでいる人々を選択します。次の SELECT ステートメントを使用できます:

SELECT * FROM Persons 
 WHERE City LIKE ‘N%’

ヒント: 「%」はワイルドカード (パターン内の欠落文字) を定義するために使用できます。

NOT キーワードを使用すると、生きている人々を選択できます。 「Persons」テーブルの「lon」を含まない都市の場合:

次の SELECT ステートメントを使用できます:

SELECT * FROM Persons 
 WHERE City NOT LIKE ‘%lon%’

3、ワイルドカード文字


(1) NOT キーワードを使用すると、「lon」を含まない都市に住む人を「persons」テーブルから選択できます。 SQL について 上級 上級 次の SELECT ステートメントを使用できます。

SELECT * FROM Persons 
 WHERE City NOT LIKE ‘%lon%’

(2) 上の「人物」テーブルから、名前の最初の文字が「eorge」である人物を選択します。

次の SELECT ステートメントを使用できます。

##

SELECT * FROM Persons 
 WHERE FirstName LIKE ‘_eorge’

(3) 上の「人物」テーブルから都市が「A」、「L」、または「N」で始まる人を選択します。
次の SELECT ステートメントを使用できます。 :

SELECT * FROM Persons 
 WHERE City LIKE ‘[ALN]%’ 
 不 SELECT * FROM Persons 
 WHERE City LIKE ‘[!ALN]%’


4. IN 演算子

IN 演算子を使用すると、WHERE 句に複数の値を指定できます。 IN 演算子の例 ここで、上の表から Adams と Carter という姓を持つ人々を選択します。 次の SELECT ステートメントを使用できます:

SELECT * FROM Persons 
 WHERE LastName IN (‘Adams’,’Carter’)


5 , BETWEEN 演算子

BETWEEN … AND 演算子は、2 つの値の間のデータ範囲を選択します。値には、数値、テキスト、または日付を使用できます。 「Adams」 (この値を含む) と「Carter」 (この値を含まない) の間の人物をアルファベット順に表示するには、次の SQL を使用します。

SELECT * FROM Persons 
 WHERE LastName 
 BETWEEN ‘Adams’ AND ‘Carter’

補数is No BETWEEN

##6. SQL を使用すると、列名とテーブル名の別名 (Alias) を指定できます。

それぞれ 2 つのテーブルがあるとします。 「人」と「Product_Orders」。それぞれにエイリアス「p」と「po」を付けます。

ここで、「John Adams」のすべての注文をリストしたいと思います。 次の SELECT ステートメントを使用できます:

SELECT po.OrderID, p.LastName, p.FirstName 
 FROM Persons 
AS
 p, Product_Orders 
AS
 po 
 WHERE p.LastName=’Adams’ AND p.FirstName=’John’



SELECT LastName AS Family, FirstName AS Name 
 FROM Persons

7、結合、キー
# の別名も使用できます。 # # 場合によっては、完全な結果を得るために、2 つ以上のテーブルから結果を取得する必要があります。 join を実行する必要があります。

データベース内のテーブルはキーによって相互にリンクできます。主キー(Primary Key)は、各行の値が一意である列です。



2 つのテーブルを参照する
2 つのテーブルを参照することで、2 つのテーブルからデータを取得できます。 SQL について 上級 上級 製品を注文したのは誰ですか? どの製品が注文されましたか?
SQL について 上級 上級

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo 
 FROM Persons, Orders 
 WHERE Persons.Id_P = Orders.Id_P

次のステートメントは上記のステートメントと同じ効果があります
SQL JOIN - 結合の使用
上記の方法に加えて、キーワード JOIN を使用してデータを抽出することもできます。 2 つのテーブルがデータを取得します。
全員の注文をリストしたい場合は、次の SELECT ステートメントを使用できます:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo 
 FROM Persons 
INNER JOIN
 Orders 
 ON Persons.Id_P = Orders.Id_P 
 ORDER BY Persons.LastName


INNER JOIN
少なくとも 1 つ一致するものがあれば行を返します

NOTE:

JOIN: テーブル内に少なくとも 1 つの一致がある場合は行を返します

  • LEFT JOIN : Even if 右のテーブルに一致するものがない場合でも、左のテーブルのすべての行を返します

  • RIGHT JOIN: 左のテーブルに一致するものがない場合でも、すべての行を返します右側のテーブルから

  • #FULL JOIN: いずれかのテーブルに一致がある限り行を返します

8、SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
列出所有在中国和美国的不同的雇员名:

SELECT E_Name FROM Employees_China 
 UNION 
 SELECT E_Name FROM Employees_USA

union和union all的区别就是union all会把所有的结果都输出来,union会把相同的给去掉

9、CREATE DATABASE database_name
用于创建数据库

CREATE TABLE Persons 
 ( 
 Id_P int, 
 LastName varchar(255), 
 FirstName varchar(255), 
 Address varchar(255), 
 City varchar(255) 
 )

SQL について 上級 上級

10、sql约束
(1) 下面的 SQL 语句强制 “Id_P” 列和 “LastName” 列不接受 NULL 值:

CREATE TABLE Persons 
 ( 
 Id_P int NOT NULL, 
 LastName varchar(255) NOT NULL, 
 FirstName varchar(255), 
 Address varchar(255), 
 City varchar(255) 
 )

(2)SQL UNIQUE 约束 

  • UNIQUE 约束唯一标识数据库表中的每条记录。 

  • UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证 

  • PRIMARY KEY 拥有自动定义的 UNIQUE 约束。 

请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
(3)SQL PRIMARY KEY 约束
PRIMARY KEY 约束唯一标识数据库表中的每条记录。 

  • 主键必须包含唯一的值。 

  • 主键列不能包含 NULL 值。
    每个表都应该有一个主键,并且每个表只能有一个主键。

想了解更多编程学习,敬请关注php培训栏目!

以上がSQL について 上級 上級の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。