>  기사  >  데이터 베이스  >  SQL 고급 고급 이해

SQL 고급 고급 이해

coldplay.xixi
coldplay.xixi앞으로
2020-12-04 17:05:179638검색

ㅋㅋㅋ e

TOP 하위 설명은 다음과 같습니다. 반환할 레코드 수를 지정하는 데 사용됩니다.

SELECT TOP 2 * FROM Persons 
 SELECT TOP 50 PERCENT * FROM Persons
2. 링크 검색 패턴

이제 위의 "Persons" 테이블에서 "N"으로 시작하는 도시에 사는 사람을 선택하려고 합니다. 다음 SELECT 문을 사용할 수 있습니다.

SELECT * FROM Persons 
 WHERE City LIKE ‘N%’

팁: "%"를 사용하여 와일드카드를 정의할 수 있습니다(패턴에서 문자 누락) SQL 고급 고급 이해 NOT 키워드를 사용하면 "lon"이 포함되지 않은 도시에 거주하는 "Persons" 테이블에서 사람을 선택할 수 있습니다.

다음을 사용할 수 있습니다. 다음 SELECT 문:

SELECT * FROM Persons 
 WHERE City NOT LIKE ‘%lon%’
3. 와일드카드


(1) NOT 키워드를 사용하면 "Persons" 테이블에서 "lon"이 포함되지 않은 도시에 거주하는 사람을 선택할 수 있습니다. 다음 SELECT 문:

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

(2) 위의 "Persons" 테이블에서 첫 번째 문자 뒤에 "eorge"가 오는 사람을 선택하려고 합니다.

다음 SELECT 문을 사용할 수 있습니다.

SELECT * FROM Persons 
 WHERE FirstName LIKE ‘_eorge’
(3) 위의 "Persons" 테이블에서 도시가 "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 연산자 SQL 고급 고급 이해
BETWEEN … AND 연산자가 선택됩니다. 두 값 사이의 데이터 범위입니다. 값은 숫자, 텍스트 또는 날짜일 수 있습니다.
"Adams"(포함)와 "Carter"(제외) 사이의 사람을 알파벳 순서로 표시하려면 다음 SQL을 사용하십시오.
SELECT * FROM Persons 
 WHERE LastName 
 BETWEEN ‘Adams’ AND ‘Carter’

Complement is No BETWEEN



6. SQL을 사용하면 열 이름과 테이블 이름에 별칭(Alias)을 지정할 수 있습니다.


"Persons"와 "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, 조인 및 키

때로는 완전한 결과를 얻으려면 두 개 이상의 테이블 결과를 가져와야 하는 경우도 있습니다. . 조인을 실행해야 합니다. 데이터베이스의 테이블은 키로 서로 연결될 수 있습니다. 기본 키(Primary Key)는 각 행의 값이 고유한 열입니다.

두 테이블 참조
두 테이블을 참조하여 두 테이블에서 데이터를 얻을 수 있습니다.

누가 제품을 주문했으며, 어떤 제품을 주문했습니까?

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo 
 FROM Persons, Orders 
 WHERE Persons.Id_P = Orders.Id_P
다음 문은 위 문과 동일한 효과를 갖습니다.
SQL JOIN - Join 사용
위 방법 외에도 JOIN 키워드를 사용하여 두 테이블에서 데이터를 가져올 수도 있습니다.
모든 사람의 주문을 나열하려면 다음 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

일치하는 항목이 하나 이상 있으면 행을 반환합니다.

Note
:

SQL 고급 고급 이해
JOIN: 다음 위치에 있는 경우 테이블에 하나 이상의 일치 항목이 있으면 행을 반환합니다. SQL 고급 고급 이해


LEFT JOIN: 오른쪽 테이블에 일치 항목이 없더라도 왼쪽 테이블의 모든 행을 반환합니다.


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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제